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-Options、frame-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 重叠攻击。

● 相关术语

● 另见