Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 203

点击劫持 (Clickjacking)

审核人Cybersecurity entrepreneur & security researcher

点击劫持 (Clickjacking) 是什么?

点击劫持 (Clickjacking)通过把目标页面叠加或隐藏在攻击者控制的页面之内,诱导用户点击与所见不符的目标的 UI 欺骗攻击。


点击劫持把敏感页面(例如账号设置、OAuth 授权、支付确认)以 iframe 嵌入恶意站点中,并在视觉上加以伪装——通常借助透明度、精心设计的 CSS 叠加层,或将其策略性地定位在诱饵按钮之下。用户以为自己在与可见页面交互,而其点击、触摸或拖拽实际上被传递到隐藏的框架中,从而在其已认证的会话里执行操作。

该术语由 Jeremiah Grossman 与 Robert Hansen 于 2008 年提出,他们演示了将 Adobe Flash 的设置管理器嵌入框架,从而悄然启用受害者的摄像头和麦克风。由此衍生出的防御手段 X-Frame-Options 头被标准化为 RFC 7034(2013),此后被 Content-Security-Policy 的 frame-ancestors 指令所取代,后者粒度更细,并支持多个允许的源。各类变种仍在不断演化:cursorjacking、拖放数据窃取以及 likejacking。2024 年末,研究员 Paulos Yibelo 发表了"DoubleClickjacking",它利用双击的两个事件之间的间隙,在第一次点击之后替换底层页面,从而绕过 X-Frame-Optionsframe-ancestors 和 SameSite cookies——因为在点击发生时实际上并不存在跨站框架。

防御措施综合运用框架控制(frame-ancestors 'self' 或显式的允许列表)、对敏感操作要求明确的用户手势与确认、在获得焦点后短暂延迟内禁用按钮,以及使用 SameSite cookies 限制跨上下文状态。

flowchart TD
  A[受害者访问<br/>攻击者页面] --> B[诱饵 UI:<br/>'点击赢取大奖']
  B --> C[不可见 iframe 加载<br/>真实目标站点]
  C --> D[受害者已登录<br/>目标站点]
  B --> E[透明叠加层<br/>对齐隐藏按钮]
  E --> F[受害者点击诱饵]
  F --> G[点击落在隐藏的<br/>'批准'按钮上]
  G --> H[操作在受害者<br/>会话中执行]

示例

  1. 01

    页面上显示"点击此处赢取大奖",但按钮上方覆盖着指向社交网络分享授权对话框的透明 iframe。

  2. 02

    像素级精确的叠加层诱使用户点击攻击者应用的 OAuth 授权页面上的"批准"按钮。

常见问题

点击劫持 (Clickjacking) 是什么?

通过把目标页面叠加或隐藏在攻击者控制的页面之内,诱导用户点击与所见不符的目标的 UI 欺骗攻击。 它属于网络安全的 攻击与威胁 分类。

点击劫持 (Clickjacking) 是什么意思?

通过把目标页面叠加或隐藏在攻击者控制的页面之内,诱导用户点击与所见不符的目标的 UI 欺骗攻击。

如何防御 点击劫持 (Clickjacking)?

针对 点击劫持 (Clickjacking) 的防御通常结合技术控制与运营实践,详见上方完整定义。

点击劫持 (Clickjacking) 还有哪些其他名称?

常见的别称包括: UI 重叠攻击。

相关术语

另见