XSS 绕过方式
1. 大小写混淆绕过
许多过滤规则是针对特定大小写模式的,比如 <script>
。你可以尝试使用大小写混淆的方式来绕过,例如:
<sCrIpT>
<ScrIpT>
<SCript>
这种方式通常在不区分大小写的环境中有效
2. 空白字符、换行符和 Tab 键绕过
过滤器有时会忽略或者处理不当某些空白字符。你可以尝试在标签、属性名或者属性值之间插入空格、换行符(%0a
或%0d
)或者 Tab 键(%09
)来绕过,例如:
<img src="javascript:alert(1);">
可以尝试写成<img src=" javascript: alert(1); ">
<script>alert(1)</script>
可以尝试写成<script%0a>alert(1)</script>
3. 使用编码绕过
许多过滤器会试图拦截特定字符,比如尖括号 < >
和引号 "
'
。你可以使用 HTML 实体编码、URL 编码或者其他编码方式来绕过
- URL 编码:
(
编码为%28
)
编码为%29
编码为</code>%20