XSS小游戏2过关思路总结
字数 1142 2025-08-12 11:34:33
XSS小游戏2过关思路详解
基础概念回顾
XSS(跨站脚本攻击)是一种常见的Web安全漏洞,攻击者能够在受害者的浏览器中执行恶意脚本。XSS小游戏2是一个实践XSS攻击技巧的平台,通过解决不同关卡来学习各种绕过过滤的方法。
通用测试方法
- 基础测试:首先尝试最基本的
<script>alert(1)</script>注入 - 闭合测试:尝试使用
"><>等符号测试输入点的闭合情况 - 标签属性测试:检查各种HTML标签和属性是否可用
- 过滤规则分析:通过返回结果分析系统过滤了哪些关键词
常见过滤与绕过技术
-
关键词过滤:如
script、on、href等- 大小写绕过:
ScRiPt、oN - 双写绕过:
scrscriptipt、oonn - 插入特殊字符:
scr_ipt、hr_ef
- 大小写绕过:
-
符号过滤:如
<、>、"、'- HTML实体编码:
<、>、"、' - JavaScript编码:
\x3c、\x3e
- HTML实体编码:
各关卡详细解法
第七关
过滤内容:
script、on、href(包括大小写)
解法:
使用双写绕过技术:
"><a HReHreFf="JAVaSCRscrIPtIpTt:alert(1)">12</a>
第八关
过滤内容:
"、>、<、hr_ef、scr_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
高级技巧总结
-
标签属性事件利用:
- 使用
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安全测试打下坚实基础。