| name | eni-redteam-clickjacking-detail-pack |
| description | [DOCUMENTATION ONLY] [仅文档] 授权范围内点击劫持测试的领域路由与边界手册,覆盖 X-Frame-Options 缺失、CSP frame-ancestors 绕过与拖放劫持。当任务落入点击劫持领域、需要明确范围、证据、转向或退出标准时加载。 |
点击劫持纵深手册
文档性质:本手册属于纯文档资源(DOCUMENTATION ONLY / 仅文档),提供方法框架与检查清单,不捆绑任何可执行脚本。
一、手册职责与领域声明
当前任务归类于 点击劫持测试 领域,测试范围限定在页面框架嵌入防护面:X-Frame-Options 缺失、CSP frame-ancestors 绕过、拖放劫持与多步操作组合等。
本手册只为代理解决三件事:划清测试边界、受阻时给出转向选项、收尾时卡住证据质量。它不教授固定攻击步骤,不替代用户授权范围,不把任何推测当作结论。
若 scope、target 或授权边界未明确,任务直接进入 blocked 或 plan-only 状态,不进行真实执行。
二、攻击面地形
点击劫持的成立条件只有一条:目标页面能否被攻击者页面以 iframe 嵌入并保持可交互。防护通常落在三种机制上——X-Frame-Options 响应头、CSP 的 frame-ancestors 指令、页面内的 framebusting 脚本。三者的共同弱点是覆盖不一致:一个全站策略中漏掉的关键路径、一个历史遗留的例外子域、一段可以被 sandbox 属性压制的脚本,都会让整道防线出现缺口。
| 入口 | 典型载体 | 观察方式 |
|---|
| 框架防护缺失 | 敏感操作页无 XFO/CSP | iframe 直接嵌套成功 |
| 防护覆盖不全 | 部分路径未下发防护头 | 逐路径检查响应头一致性 |
| CSP 例外 | frame-ancestors 白名单过宽 | 寻找白名单内可控子域 |
| 脚本防护 | framebusting 脚本 | sandbox 属性禁用脚本后嵌套 |
| 拖放面 | 跨窗口拖放操作 | 拖放劫持 PoC 验证 |
三、变体速览
| 变体 | 触发条件 | 高价值场景 |
|---|
| 无框架保护 | 响应头完全缺失 | 敏感操作被透明覆盖诱导点击 |
| 部分保护 | 个别路径遗漏 | 全站策略中的漏网页面 |
| 拖放劫持 | 拖放事件未限制来源 | 诱导用户拖入敏感数据 |
| 多步操作 | 连续点击组合 | 组合诱导完成高危流程 |
四、执行纪律与禁区
- 只围绕用户明确提供或授权的目标工作,不超出目标域名、IP、应用或系统边界。
- 不得对真实用户实施点击劫持攻击。
- 证据纪律:不伪造、不夸大、不补写不存在的证据;不在缺少证据时声明任务完成。
- 不把候选风险、公开 CVE 或组件指纹直接等同于可利用漏洞——指纹只是线索,验证才是结论。
- 若 scope、target 或授权边界不明确,进入 blocked 或 plan-only,不进行真实执行。
五、受阻转向
- X-Frame-Options 已设置 → 检查是否所有页面一致下发,寻找遗漏的例外页面。
- CSP frame-ancestors 已配置 → 寻找策略不一致的子域或路径。
- JavaScript 防护存在 → 检查 framebusting 脚本是否可被 sandbox 属性禁用。
- 所有页面均有完善防护 → 记录已测试页面清单,回退到上级知识库重新选择测试方向。
六、收尾与证据标准
正向退出(有发现)
- 关键结论至少具备 supported 级证据;漏洞成立、影响判断或最终报告必须有 verified 级证据。
- 交付 reproduction 证据包,须包含:点击劫持 PoC HTML(iframe 嵌套目标页面);可在 iframe 中加载的证明截图;受影响的敏感操作评估。
- 每份 artifact 能说明来源、目标、时间、观察结果和判断依据。
负向退出(未发现)
- 最少尝试次数:3。
- 记录已测试页面与失败原因,提交 negative report 后回退上级。
- 措辞纪律:只输出"当前证据下未发现",不输出"确认不存在"。