点击劫持原理与防御
定义
点击劫持是一种网络安全攻击,攻击者通过在网页中嵌入(通常用<iframe>
)目标网站的真实页面,并将其设置为透明或部分透明,诱导用户点击,从而在不知情的情况下完成敏感操作。
例子
攻击者搭建一个诱导页面,将目标网站的敏感操作页面以透明 iframe 方式嵌入。
诱导按钮与目标网站的敏感按钮(如“转账”、“授权”、“关注”)精确重叠。
用户点击诱导按钮时,实际点击的是目标网站上的敏感按钮,完成攻击者预设的操作。
常见危害
自动关注、点赞、订阅
发起转账、支付
授权高权限给恶意应用
修改账户设置
典型案例
优酷订阅按钮劫持
Facebook 移动端分享对话框漏洞
各类第三方登录、支付页面被劫持
防御措施
设置
X-Frame-Options
或 CSP,禁止页面被嵌入 iframe对敏感操作增加二次确认或验证码
检测页面是否为顶层窗口(
window.top === window.self
)使用
sandbox
属性限制 iframe 权限
变种
双击劫持(DoubleClickjacking):利用双击事件绕过单击防护,提升攻击成功率
图片覆盖、拖拽劫持、触屏劫持等
许可协议:
CC BY 4.0