【juice-shop】★ DOM XSS:搜索框里的“魔法”
0x01 任务简报
💡 核心线索 (Hints)
- 找回显:寻找一个输入后内容会直接跳进 HTML 的字段。
- 看本质:别被表面迷惑,重点在于程序如何处理你的输入。
🎓 实战动作 (Action)• 目标:屏幕顶部的 Search field(搜索栏)。
• 预热:尝试搜索owasp并回车。
• 变招:尝试注入 HTML/JS 代码进行 XSS 攻击。
0x02 实战:复现漏洞
1. 准备武器 (Payload) 从计分板直接复制这行“弹窗指令”备用:
|
|
2. 寻找靶心 根据提示,目标就在这里:

3. 触发陷阱 将 Payload 填入搜索框 -> 回车 -> Boom! 弹窗出现,漏洞确认。

0x03 源码审计:编码挑战
🔍 找到它 (Find It)
漏洞位于 第 6 行:

🛠️ 修复它 (Fix It)

面对四个选项,为什么选 Fix 2?
| 选项 | 处理方式 | 安全评价 | 结论 |
|---|---|---|---|
| Fix 1 | trustScript |
❌ 依然执行 JS | 换个姿势被黑 |
| Fix 2 | 直接赋值 | ✅ Angular 自动编码 | 真·修复 |
| Fix 3 | trustResourceUrl |
❌ 依然加载恶意链接 | 掩耳盗铃 |
| Fix 4 | trustStyle |
❌ 可能导致 CSS 注入 | 治标不治本 |