文章

点击劫持原理与防御

定义

点击劫持是一种网络安全攻击,攻击者通过在网页中嵌入(通常用<iframe>)目标网站的真实页面,并将其设置为透明或部分透明,诱导用户点击,从而在不知情的情况下完成敏感操作。

例子

  1. 攻击者搭建一个诱导页面,将目标网站的敏感操作页面以透明 iframe 方式嵌入。

  2. 诱导按钮与目标网站的敏感按钮(如“转账”、“授权”、“关注”)精确重叠。

  3. 用户点击诱导按钮时,实际点击的是目标网站上的敏感按钮,完成攻击者预设的操作。

常见危害

  • 自动关注、点赞、订阅

  • 发起转账、支付

  • 授权高权限给恶意应用

  • 修改账户设置

典型案例

  • 优酷订阅按钮劫持

  • Facebook 移动端分享对话框漏洞

  • 各类第三方登录、支付页面被劫持

防御措施

  • 设置X-Frame-Options或 CSP,禁止页面被嵌入 iframe

  • 对敏感操作增加二次确认或验证码

  • 检测页面是否为顶层窗口(window.top === window.self

  • 使用sandbox属性限制 iframe 权限

变种

  • 双击劫持(DoubleClickjacking):利用双击事件绕过单击防护,提升攻击成功率

  • 图片覆盖、拖拽劫持、触屏劫持等

许可协议:  CC BY 4.0