简介
点击劫持(click jacking)也被称为 UI 覆盖攻击。它通过不可见框架底部的内容误导受害者点击,虽然受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面。

原理
这种攻击利用了HTML中<iframe>标签的透明属性。

在 HTML 中,我们可以在 iframe 里面嵌套另一个网页。通过设置 iframe 的透明度,可以使 iframe 不可见,同时在其底部放一个很有诱惑力的图片,调整网页中 iframe 中网页提交按钮的位置,使其和图片里按钮的位置相同。如此,当用户点击图片中的按钮时,其实是点击了网页中的按钮。

危害
盗取用户资料
盗取用户资金
盗用用户身份
防御
点击劫持的根本就是目标网站被攻击者通过 iframe 内嵌在他的网页中,所以只要阻止我们的网站被 iframe 内嵌即可。

JavaScript 禁止 iframe 内嵌
在 iframe 中,window 与 top 对象不相等。利用这一点,我们可以加上一个判断,如果两者不相等,则top.location = window.location。

但是 iframe 可以通过 sandbox 来禁用 JavaScript,所以这一种方式并不是很安全。

X-Frame-Options HTTP 响应头禁止 iframe 内嵌
使用 X-Frame-Options 有三个可选的值:

DENY:浏览器拒绝当前页面加载任何 iframe 页面
SAMEORIGIN:iframe 页面的地址只能为同源域名下的页面
ALLOW-FROM:origin 为允许 iframe 加载的页面地址

原文链接:https://blog.csdn.net/zhoulei1995/article/details/79039142

posted on 2019-12-27 14:15  爬虫一只  阅读(452)  评论(0编辑  收藏  举报