XSS小游戏2过关思路总结
字数 1142 2025-08-12 11:34:33

XSS小游戏2过关思路详解

基础概念回顾

XSS(跨站脚本攻击)是一种常见的Web安全漏洞,攻击者能够在受害者的浏览器中执行恶意脚本。XSS小游戏2是一个实践XSS攻击技巧的平台,通过解决不同关卡来学习各种绕过过滤的方法。

通用测试方法

  1. 基础测试:首先尝试最基本的<script>alert(1)</script>注入
  2. 闭合测试:尝试使用"><>等符号测试输入点的闭合情况
  3. 标签属性测试:检查各种HTML标签和属性是否可用
  4. 过滤规则分析:通过返回结果分析系统过滤了哪些关键词

常见过滤与绕过技术

  1. 关键词过滤:如scriptonhref

    • 大小写绕过:ScRiPtoN
    • 双写绕过:scrscriptiptoonn
    • 插入特殊字符:scr_ipthr_ef
  2. 符号过滤:如<>"'

    • HTML实体编码:&lt;&gt;&quot;&apos;
    • JavaScript编码:\x3c\x3e

各关卡详细解法

第七关

过滤内容

  • scriptonhref(包括大小写)

解法
使用双写绕过技术:

"><a HReHreFf="JAVaSCRscrIPtIpTt:alert(1)">12</a>

第八关

过滤内容

  • "><hr_efscr_ipt
  • 通常也会过滤o_n

特点
输入值会提交给a标签的href属性

解法
使用HTML实体编码绕过:

javascript:alert(1)

或使用编码后的形式

第九关

特点
与XSS小游戏1类似,需要构造包含http的payload

解法

http://example.com" onmouseover="alert(1)

或使用HTML实体编码

第十关

特点

  • 页面没有明显输入点
  • 需要修改URL参数或通过Burp Suite抓包修改

解法
发现三个隐藏标签,从后往前测试:

&t_sort=" onclick="alert()" type="text

高级技巧总结

  1. 标签属性事件利用

    • 使用onclickonmouseoveronload等事件属性
    • 示例:``
  2. 伪协议利用

    • 使用javascript:伪协议
    • 示例:<a href="javascript:alert(1)">click</a>
  3. 编码混淆

    • HTML实体编码
    • URL编码
    • Unicode编码
    • 混合编码
  4. 隐藏输入点利用

    • 检查所有表单参数,包括隐藏字段
    • 修改URL参数测试

实践建议

  1. 先完成XSS小游戏1,掌握基础技巧
  2. 使用Burp Suite等工具观察请求和响应
  3. 系统性地测试各种过滤绕过方法
  4. 记录每种有效payload,建立自己的XSS字典

防御措施理解

通过攻击练习,也应理解防御方法:

  1. 输入验证和过滤
  2. 输出编码
  3. 使用CSP(内容安全策略)
  4. 设置HttpOnly标志

通过XSS小游戏2的实践,可以深入理解XSS漏洞的各种利用方式和绕过技术,为Web安全测试打下坚实基础。

XSS小游戏2过关思路详解 基础概念回顾 XSS(跨站脚本攻击)是一种常见的Web安全漏洞,攻击者能够在受害者的浏览器中执行恶意脚本。XSS小游戏2是一个实践XSS攻击技巧的平台,通过解决不同关卡来学习各种绕过过滤的方法。 通用测试方法 基础测试 :首先尝试最基本的 <script>alert(1)</script> 注入 闭合测试 :尝试使用 "><> 等符号测试输入点的闭合情况 标签属性测试 :检查各种HTML标签和属性是否可用 过滤规则分析 :通过返回结果分析系统过滤了哪些关键词 常见过滤与绕过技术 关键词过滤 :如 script 、 on 、 href 等 大小写绕过: ScRiPt 、 oN 双写绕过: scrscriptipt 、 oonn 插入特殊字符: scr_ipt 、 hr_ef 符号过滤 :如 < 、 > 、 " 、 ' HTML实体编码: &lt; 、 &gt; 、 &quot; 、 &apos; JavaScript编码: \x3c 、 \x3e 各关卡详细解法 第七关 过滤内容 : script 、 on 、 href (包括大小写) 解法 : 使用双写绕过技术: 第八关 过滤内容 : " 、 > 、 < 、 hr_ef 、 scr_ipt 通常也会过滤 o_n 特点 : 输入值会提交给a标签的href属性 解法 : 使用HTML实体编码绕过: 或使用编码后的形式 第九关 特点 : 与XSS小游戏1类似,需要构造包含http的payload 解法 : 或使用HTML实体编码 第十关 特点 : 页面没有明显输入点 需要修改URL参数或通过Burp Suite抓包修改 解法 : 发现三个隐藏标签,从后往前测试: 高级技巧总结 标签属性事件利用 : 使用 onclick 、 onmouseover 、 onload 等事件属性 示例: `` 伪协议利用 : 使用 javascript: 伪协议 示例: <a href="javascript:alert(1)">click</a> 编码混淆 : HTML实体编码 URL编码 Unicode编码 混合编码 隐藏输入点利用 : 检查所有表单参数,包括隐藏字段 修改URL参数测试 实践建议 先完成XSS小游戏1,掌握基础技巧 使用Burp Suite等工具观察请求和响应 系统性地测试各种过滤绕过方法 记录每种有效payload,建立自己的XSS字典 防御措施理解 通过攻击练习,也应理解防御方法: 输入验证和过滤 输出编码 使用CSP(内容安全策略) 设置HttpOnly标志 通过XSS小游戏2的实践,可以深入理解XSS漏洞的各种利用方式和绕过技术,为Web安全测试打下坚实基础。