| 动画介绍:
大家好,我是初学者,前段时间,关于BBSXP 7.0 SP2版本上传漏洞出现后,官方也做了相应的修补措施,现在官方的最新版本"BBSXP 2007 (Build: 7.3.1)"2007-07-07(发布日期:2007年7月7日发布)下载地址:http://www.bbsxp.com/download.htm,不过在最新版本中依然还存在着注入的漏洞(我测试的是ACCESS版本)在search.asp文件中:
代码片段:
<!-- #include file="Setup.asp"
HtmlTo
ForumID=RequestInt("ForumID")
DateComparer=RequestInt("DateComparer")
if Request("menu")="Result" then
Keywords=HTMLEncode(Request("Keywords"))
SortBy=HTMLEncode(Request("SortBy"))
Item=HTMLEncode(Request("Item"))
if Keywords="" then error("您没有输入任何查询条件!")
if Request("VerifyCode")<>Session("VerifyCode") or Session("VerifyCode")=""
then error("验证码错误!")
SQLSearch="IsApproved=1 and IsDel=0 and "&Item&" like ’%"&Keywords&"%’ "
if DateComparer > 0 then SQLSearch=SQLSearch&" and PostTime>"&SqlNowString
&"-"&DateComparer&" "
if ForumID > 0 then SQLSearch=SQLSearch&" and ForumID="&ForumID&" "
sql="select * from [BBSXP_Threads] where "&SQLSearch&" order by ThreadID "
&SortBy&""
Rs.Open sql,Conn,1
我们找到BBSXP_Class.asp,找到如下代码:
Function HTMLEncode(fString)
fString=Trim(fString)
fString=Replace(fString,CHR(9),"")
fString=Replace(fString,CHR(13),"")
fString=Replace(fString,CHR(22),"")
fString=Replace(fString,CHR(38),"&")’“&”
fString=Replace(fString,CHR(32)," ")’“”
fString=Replace(fString,CHR(34),""")’“"”
fString=Replace(fString,CHR(39),"’")’“’”
fString=Replace(fString,CHR(60),"<")’“<”
fString=Replace(fString,CHR(62),">")’“>”
fString=Replace(fString,CHR(92),"\")’“\”
fString=Replace(fString,CHR(45)&CHR(45),"--")’“--”
fString=Replace(fString,CHR(59),";")’“;”
fString=Replace(fString,CHR(10),"<br>")
fString=ReplaceText(fString,"([&#])([a-z0-9]*);","$1$2;")
if SiteConfig("BannedText")<>"" then fString=ReplaceText(fString,"("&Site
Config("BannedText")&")",string(len("&$1&"),"*"))
if IsSqlDataBase=0 then ’过滤片假名(日文字符)[\u30A0-\u30FF] by yuzi
fString=escape(fString)
fString=ReplaceText(fString,"%u30([A-F][0-F])","0$1;")
fString=unescape(fString)
end if
HTMLEncode=fString
End Function
关于代码的分析我就不讲了,对我们来说,最重要的是如何利用,以下是注入的过程:
1:利用关键字"powered by bbsxp access"进行搜索,我们可以找到很多使用这类系统的网站.
2:打开一个网站,先进行注册一个用户,随便找一个版面,发表一个贴子,然后点“搜索”,搜索一下刚才的帖子(先不要点"开始搜索"按钮)
3:打开抓包工具,进行抓包。再点POST接收到的数据,注意数据最后部分Keywords=bbsxp&Item=Topic&DateComparer=365&SortBy=Desc&ForumID=X&VerifyCode=XXXX(验证码)
4:构造注入语句:
5:再点“搜索”,清空URL,把以上注入语句{VerifyCode=XXXX(XXXX改为新出现的验证码数字)}粘贴在URL点刷新后,就会暴出所有的用户名和密码 |