前端安全之点击劫持

176 阅读1分钟

什么是点击劫持?

通过iframe形式引入受害者网站,然后通过z-index在外层加入button等标签,劫持用户操作行为的攻击形式即点击劫持,攻击的场景大概如下图所示:
比如通过点击劫持方式,攻击掘金网站: image.png 通过Chrome Layers,我们可以清晰的看到红色的按钮在iframe上层。接下来,黑客只需要把这个红色按钮通过opacity: 0设置为透明,便可劫持用户的点击操作,进而引导用户跳到钓鱼网站

将部署的域名设置为juejin.com或者其他相似的网址,通过邮件或其他形式发送给用户,便可传播以至于危害用户

如何预防点击劫持?

  1. X-Frame-Options

网址响应头设置X-Frame-Options 设置Deny/SAMEORIGIN,便可做到预防 iframe被第三方嵌套
iframe嵌套www.baidu.com便会被直接拒绝,我们可以看到百度网址设置了X-Frmae-Options头部 WOA20230213-194729.png

  1. frame busting

if (top.location !== self.location) {
  top.location = self.location
}

参考文献