不恰当的过滤规则导致 浏览器 Anti-XSS功能被绕过 看电影看的太卡了,实在受不了就去在线反馈去了,反馈完了又手痒试了试,结果还真有XSS。
你们的过滤规则大概是这样:
如果出现Anchor标签以外的标签就直接将它移除。不过这个移除还有一个大前提就是你们只移除闭合的标签,如果我的URL是这样:
最后插进去就会变成:
<input type='hidden' name='videoTitle' value=''><svg/onload=alert(document.domain) '' />
不过这个只在Firefox下有效。因为IE和Chrome都有自己的Anti-XSS功能。这里就可以借助你们的过滤器来绕过了。我们构造这样的URL:
从上面的URL当中可以看到我的payload是:
'><style/onl<meta>oad=alert(/z7y/)%2b'
其中'>的部分用来闭合前面的标签。后面的部分由于会触发过滤器规则,所以选择不去闭合它。最关键的中间的部分。对于Anti-XSS来说'><style/onl<meta>oad=alert(/z7y/)%2b'是无害的,因为这里并没有出现预期的onload。但最后输出时,由于你们的过滤器会过滤所有非Anchor的闭合标签,最终导致这个XSS通杀。
查看更多关于优酷网主站反射型XSS(所绕过antixss所有浏览器通的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did15573