点击劫持攻防手册
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/clickjacking-kton 技能。
技能介绍
先解决什么问题
点击劫持(Clickjacking / UI redress)的核心问题是:用户以为自己在点击诱饵页面上的按钮,实际点击的是透明 iframe 覆盖的目标页面。这种误操作可能触发后台管理动作、权限变更、数据导出或 token 传递。很多团队把它当成低危发现,但只要目标动作具备高影响,风险会迅速放大。
技能如何组织
该技能把排查拆成可执行路径:
- 检测可框架化:检查
X-Frame-Options响应头与 CSPframe-ancestors。现代浏览器中,CSPframe-ancestors优先于X-Frame-Options。 - 快速 PoC:把目标页面放进
iframe,若能加载,说明页面 frameable,可能存在风险。 - 构造点击链:提供单次点击、多步点击和拖放式 PoC 模板。多步动作需按步骤重定位
iframe;拖放攻击可用 HTML5 drag-and-drop 在不可见 iframe 间转移数据或 token。 - 绕过保护:覆盖 frame-busting 脚本的
sandbox绕过、ALLOW-FROM在 Chrome/Safari 不受支持的问题,以及SAMEORIGIN下借同源中间页实现 Double-Framing。
适用边界
它适合授权范围内的黑盒/灰盒安全测试,尤其用于验证后台敏感操作是否可被透明 iframe 驱动。不能仅因页面可 frame 就判定存在可利用漏洞,还需确认实际动作、状态变化和浏览器行为。遇到现代 CSP frame-ancestors 时,应优先以策略为准,而不是只关注旧版响应头。
使用场景
- 在进行授权渗透测试时,需要验证后台“确认删除”按钮是否可被透明 iframe 劫持点击。
- 针对要求多次点击确认的敏感操作,需要编写多步 PoC 验证跨页面 iframe 重定向攻击。
- 发现目标仅依赖 X-Frame-Options: SAMEORIGIN,需利用同源中间页构造 Double-Framing 绕过测试。
- 排查前端 frame-busting 脚本防护时,需要评估添加 sandbox 属性是否能有效阻断跨域嵌套。
适合人员
- Web 渗透测试工程师:在授权测试中快速验证后台敏感操作是否存在 UI 覆盖劫持漏洞。
- 业务后端开发工程师:在上线前自测关键路由的 CSP frame-ancestors 策略是否生效并覆盖已知绕过。
- 安全合规审计人员:针对定级为中低危的管理动作,出具可复现的点击劫持风险修复建议。