在客户现场遇到一个XSS,但过滤了括号(),没办法给客户弹框演示,所以需要绕过。
urlencode和htmlencode之类常规的都绕不了,并且类似alert、confrim、prompt之类的函数都有括号,这就犯了难了。
后来想了想,可以用data协议嘛,这个是不带括号的,只有尖括号,正好尖括号没有过滤。
于是,在XSS漏洞输出的地方输入:
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgiWHNzVGVzdCIpOzwvc2NyaXB0Pg=="></object>
OK,弹框了。
ps:《XSS跨站脚本攻击剖析与防御》试读章节中对data协议在XSS中的应用有详细介绍
转自:http://sb.f4ck.org/thread-19512-1-1.html
转载请注明:jinglingshu的博客 » 绕过括号过滤实现XSS弹框