2-2

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