点击劫持(Clickjacking)是一种 Web 安全攻击,攻击者使用透明的 <iframe> 覆盖在钓鱼页面上,诱导用户点击实际上是目标网站的操作按钮。

解决的核心痛点:如何防止页面被恶意嵌入并诱导用户点击?


核心命题


攻击原理

  1. 攻击者在恶意页面嵌入目标网站的透明 iframe
  2. 通过 CSS 定位将目标按钮与诱导按钮重叠
  3. 用户以为自己点击的是诱导按钮,实际点击的是目标按钮

防御方法

方法说明
CSP frame-ancestors指定哪些页面可以嵌入当前页面
X-Frame-OptionsDENY / SAMEORIGIN 禁止嵌入
Frame BustingJS 检测并跳出 iframe(已过时)

知识图谱

  • 父级概念浏览器安全机制 — 点击劫持是 Web 安全攻击类型之一
  • 相关概念
    • CSP — 内容安全策略的 frame-ancestors 指令
    • XSS — 另一种 Web 攻击
    • CSRF — 点击劫持常与 CSRF 结合使用