XSS-Sec靶场是一个以“实战为导向”的XSS漏洞练习环境。它系统性地覆盖了反射型、存储型、DOM型、SVG向量、CSP绕过、框架注入、协议绕过等多种Web安全攻击场景。项目界面风格统一,关卡逻辑清晰,非常适合用于系统化学习、技能提升或教学演示。

关卡总览与简介
以下是该靶场所包含的50个关卡及其核心挑战点,从基础到高阶,逐步深入:
- Level 1: Reflected XSS — 基础反射型XSS。
- Level 2: DOM-based XSS — 客户端DOM操作漏洞。
- Level 3: Stored XSS — 持久化存储型XSS。
- Level 4: Attribute Breakout — 突破HTML属性限制。
- Level 5: Filter Bypass — 在禁用
<script> 标签的情况下进行绕过。
- Level 6: Quote Filtering — 突破单引号包围。
- Level 7: Keyword Removal — 利用双重写入绕过关键词删除。
- Level 8: Encoding Bypass — 利用HTML实体编码绕过。
- Level 9: URL Validation — 输入的URL必须包含
http://。
- Level 10: Protocol Bypass — 利用大小写敏感性进行协议绕过。
- Level 11: JS Context — 突破JavaScript字符串上下文。
- Level 12: DOM XSS via Hash — 利用URL哈希片段,服务器无感知。
- Level 13: Frontend Filter — 绕过前端正则表达式过滤。
- Level 14: Double Encoding — 双重编码绕过。
- Level 15: Framework Injection — AngularJS模板注入。
- Level 16: PostMessage XSS — 与父窗口通信的漏洞利用。
- Level 17: CSP Bypass — 在严格CSP策略下寻找利用链。

- Level 18: Anchor Href XSS — 存储在
href 属性中的XSS。
- Level 19: DOM XSS in Select — 突破
<select> 元素的XSS。
- Level 20: jQuery Anchor XSS — 利用jQuery
attr() 方法的DOM XSS。
- Level 21: JS String Reflection — 反射到JavaScript字符串中的XSS。
- Level 22: Reflected DOM XSS — 服务器反射 + 客户端接收点。
- Level 23: Stored DOM XSS — 仅替换一次的存储型DOM XSS。
- Level 24: WAF Bypass (Tags/Attrs) — 面对严格WAF规则的反射型XSS。
- Level 25: SVG Animate XSS — SVG特定向量的绕过利用。
- Level 26: Canonical Link XSS — 突破单引号的规范链接XSS。
- Level 27: Stored XSS in onclick — 实体编码与转义处理的陷阱。
- Level 28: Template Literal XSS — 反射到JavaScript模板字符串中。
- Level 29: Cookie Exfiltration — 存储型XSS窃取会话Cookie。
- Level 30: Angular Sandbox Escape — 无字符串情况下的Angular沙箱逃逸。
- Level 31: AngularJS CSP Escape — 绕过CSP并逃逸Angular沙箱。
- Level 32: Reflected XSS (href/events blocked) — 通过SVG动画设置href绕过。
- Level 33: JS URL XSS (chars blocked) — 在特定字符被阻止的
javascript: URL中实现反射XSS。
- Level 34: CSP Bypass (report-uri token) — 通过
report-uri指令进行Chrome特有的CSP注入。
- Level 35: Upload Path URL XSS — 独立实验:上传HTML,随机重命名,URL拼接导致XSS。
- Level 36: Hidden Adurl Reflected XSS — 独立实验:隐藏的广告锚点反射adurl/adid参数。
- Level 37: Data URL Base64 XSS — 黑名单过滤;必须在object中使用
data:text/html;base64。
- Level 38: PDF Upload XSS — 独立实验:上传PDF,查看时触发内含的HTML导致XSS。
- Level 39: Regex WAF Bypass — 利用
src/="data:...”绕过WAF正则表达式。
- Level 40: Bracket String Bypass — href反射;使用
window[“al”+”ert”]规避WAF。
- Level 41: Fragment Eval/Window Bypass — 回显HTML;分割字符串后使用eval或
window[a+b]。
- Level 42: Login DB Error XSS — 独立实验:数据库无效时显示错误,SQL语句反射用户名。
- Level 43: Chat Agent Link XSS — 独立实验:聊天消息回显,客服点击用户链接触发XSS。
- Level 44: CSS Animation Event XSS — 强WAF:仅允许
@keyframes 结合 onanimationend 事件。
- Level 45: RCDATA Textarea Breakout XSS — 强WAF:仅能通过
<textarea> 或 <title> 的RCDATA突破。
- Level 46: JS String Escape (eval) — 主题字符串注入;通过
eval(myUndefVar); alert(1); 逃逸。
- Level 47: Throw onerror comma XSS — 强WAF:仅允许
throw onerror=alert,cookie 形式。
- Level 48: Symbol.hasInstance Bypass — 强WAF:仅允许
instanceof 与 eval 链式利用。
- Level 49: Video Source onerror XSS — 强WAF:仅允许
video source onerror。
- Level 50: Bootstrap RealSite XSS — 独立站点:仅允许
xss onanimationstart。

工具获取
项目源码与部署方式可通过以下地址获取:
https://github.com/duckpigdog/XSS-Sec
这个靶场为安全研究人员和学习者提供了一个从入门到精通的完整路径,帮助你深入理解XSS漏洞的各种变体及其防御措施的局限性。如果你想寻找更多类似的安全研究资源或与同行交流,可以关注云栈社区的相关技术板块。
文章来源:夜组安全
免责声明:本文所涉及的技术、思路和工具仅用于以安全为目的的学习交流,任何人不得将其用于非法用途及盈利,否则后果自行承担。
|