「第二篇」客户端脚本安全批注[……]    表示他人、自己、网络批注参考资料来源于* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL所以如需原文,请自行查询{……}    重点内容*……*    表示先前提到的内容,不赘述「第二篇」客户端脚本安全0.6本书结构就当前比较流行的客户端脚本攻击进行了深入阐述,当网站的安全做到一定程度后,黑客很难找到类似注入攻击、脚本执行等高风险的漏洞,从而可能将注意力转义到客户端脚本攻击上客户端脚本安全于浏览器的特性息息相关,因此对浏览器的深入理解将有助于做好客户端脚本安全的解决方案「第五章」点击劫持(ClickJacking)[UI-覆盖攻击通过覆盖不可见的框架误导受害者点击虽然受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面这种攻击利用了HTML中<iframe>标签的透明属性修复方法* X-FRAME-OPTIONS(修改中间件配置)X-FRAME-OPTIONS是微软提出的一个http头,专门用来防御利用iframe嵌套的点击劫持攻击,并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持头的值* DENY拒绝任何域加载  * SAMEORIGIN允许同源域下加载  * ALLOW-FROM可以定义允许frame加载的页面地址 下载SAPI(The OWASP Enterprise Security API)包解决的简单方法* esapi-2.1.0.1.jar,下载地址https://www.owasp.orghttps://download.csdn.net/download/chengcm/11072723* 将esapi-2.1.0.1.jar放到web应用的lib目录下* 在web.xml中增加ClickjackFilter过滤器的设置* 重启服务器* 增加js的防御(代码层面的防御)]「5.1什么是点击劫持」安全专家Robert Hansen与Jeremiah Grossman发现了一种被他们称为ClickJacking(点击劫持)的攻击,这种攻击几乎影响了所有的桌面平台,包括IE、Safari、Firefox、Opera以及Adobe Flash点击劫持是一种视觉上的欺骗手段,攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网站上进行操作,此时用户将在不知情的情况下点击透明的iframe页面通过调整iframe页面的位置,可以诱使用户恰好点击阿兹iframe页面的一些功能性按钮上通过控制iframe的长、宽,以及调整top、left的位置,可以把iframe页面内的任意部分覆盖到任何地方,同时设置iframe的position为absolute,并将z-index的值设置为最大,以达到让iframe处于页面的最高层,再通过设置opacity来控制iframe页面的透明度,值为0是完全不可见点击劫持攻击与CSRF攻击 *第四章 跨站点请求伪造(CSRF)* 有异曲同工之妙,都是在用户不知情的情况下诱使用户完成一些动作,但是在CSRF攻击过程中,如果出现用户交互的页面,则攻击可能会无法顺利完成但是点击劫持没有这个顾虑,它利用的就是与用户产生交互的页面「5.2Flash点击劫持」攻击者通过通过Flash构造出了点击劫持,在完成一系列复杂操作下,最终控制用户电脑的摄像头* 攻击者制造一个Flash游戏,并诱使用户来玩此游戏* 该游戏就是诱使用户点击click按钮,每一次点击,这个按钮的位置都会变化* 在一步步操作后,打开了用户的摄像头其实该网页隐藏了一个iframe页面,一步步诱使用户点击功能键,从而打开摄像头「5.3图片覆盖攻击」点击劫持是一种视觉欺骗,顺着这个思路,还有一些攻击方式也可以起到类似的作用,如图片覆盖安全研究者sven.vetsch最先提出了这种Cross Site Image Overlaying攻击,简称XSIOsven.vetsch通过调整图片的style使得图片能够覆盖在他所指定的任意位置XSIO不同于XSS,它利用的是图片的style,或者能够控制CSS如果应用没有下肢style的position为absolute的话,图片就可以覆盖到页面上的任意位置,形成点击劫持百度空间也曾出现过此问题http://hi.baidu.com/aullik5/blog/item/e031985175a02c685352416.html图片还可以伪装得像一个正常的链接、按钮,或者在图片中构造一些文字覆盖在关键的位置,这样就不需要用户点击,也可以达到欺骗的作用由于<img>标签在很多系统中是对用户开放的,因此在现实中有非常多的站点存在被XSIO攻击的可能在防御XSIO时,需要检查用户提交的HTML代码中,<img>标签的style属性是否可能导致浮出「5.4拖拽劫持、数据盗取」安全研究者Paul Stone在BlackHat 2010大会上发表了题为Next Generation Clickjacking的演讲,在该演讲中提出了浏览器拖拽事件导致的安全问题目前很多浏览器都支持使用Drag & Drop的API对于用户来说,拖拽使他们的操作更加简单浏览器中的拖拽对象可以是链接、文字、窗口,因此拖拽不受同源策略的限制拖拽劫持的思路是诱使用户从隐藏的iframe中拖拽出攻击者希望得到的数据,然后放到攻击者能控制的另一个页面中,从而盗取数据在JavaScript或Java API的支持下,这个攻击过程会变得非常隐蔽,因为它突破了传统ClickJacking一些先天的局限,所以这种新型的拖拽劫持能够造成更大的破坏国内安全研究者xisigr曾经构造了一个针对Gmail的POChttp://hi.baidu.com/blog/item/2c2b7a110ec848f0c2ce79ec.html「5.5触屏劫持」手机上的触屏劫持攻击被斯坦福的安全研究者公布,这意味着ClickJacking的攻击方式跟进一步,斯坦福安全研究者的将其称为TapJackinghttp://seclab.stanford.edu/websec/framebusting/tapjacking.pdf从手机OS的角度看,触屏实际上是一个事件,OS捕捉这些事件,并执行相应的操作一次触屏可能对应一下操作* touchstart,手指触摸屏幕时产生* touchend,手指离开屏幕时产生* touchmove,手指滑动时发生* touchcancel,系统可取消touch通过将一个不可见的iframe覆盖到当前网页上,可以劫持用户的触屏操作2010年12月,研发者发现TapJacking可以更改系统安全设置http://blog.mylookout.com/look-10-007-tapjacking/http://vimeo.com/17648348「5.6防御ClickJacking」5.6.1frame busting可以写一段JavaScript代码,禁止iframe的嵌套,这种方法叫frame busting但frame busting存在一些缺陷由于他是JavaScript写的,控制能力不是特别强,因此有许多方法饶过它此外,像HTML5中iframe的sandbox属性、IE中iframe的security属性等,都可以限制iframe页面中的JavaScript脚本执行,从而可以使得frame busting失效斯坦福的Gustav Rydstedt等人总结了一片关于攻击frame busting的paperhttp://seclab.stanford.edu/websec/framebusting/framebust.pdf5.6.2X-Frame-Options因为frame busting容易被绕过,所以我们需要一个更好的解决方案----HTTP头的X-Frame-OptionsX-Frame-Options可以说是专门为ClickJacking准备的,一下浏览器已开始支持X-Frame-Options* IE 8+* Opera 10.50+* Safari 4+* Chrome 4.1.249.1042+* Firefox 3.6.9(or earlier with NoScript)它有三个可选的值* DECY拒绝访问任何iframe* SAMEORIGN只能访问同源域名下的iframe* ALLOW-FROM Origin允许frame加载页面地址[Content Security Policy网页安全政策(CSP(Content Security Policy)),一种白名单制度]「5.7总结」XSS与CSRF需要诱使用户与界面产生交互,而ClickJacking在未来仍然有可能被攻击者利用在钓鱼、欺诈、广告作弊等方面,不可不察

「第五章」点击劫持(ClickJacking)相关推荐

  1. 「第三章」跨站脚本攻击(XSS)

    批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL ...

  2. 「第五篇」FUZZ模糊测试

    批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL ...

  3. 点击劫持ClickJacking

    原文:https://beenle-xiaojie.github.io/2019/01/07/ClickJacking/ 引言 当我们的页面嵌入到一个iframe中时,安全测试提出一个于我而言很新鲜的 ...

  4. 「第五篇」全国电子设计竞赛-电源题设计方案总结

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 0  前言 许多朋友给我留言说,有没有电源题目的一些文章可以参考. 为了给大家找更多 ...

  5. 2.ZooKeeper分桶策略实现高性能的会话管理「第五章 ZooKeeper 原理」「架构之路ZooKeeper理论和实战」

    相关历史文章(阅读本文前,您可能需要先看下之前的系列

  6. el表达式的语法_「手把手教python3接口自动化」「第三章」:Python3 语法

    1 Python3 语法 1.1 基础语法 [编码] 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码. [标 ...

  7. 支付宝「集五福」的阳谋

    事实上,分析眼下所有成功的节庆,它的核心特点都在于成功地营造了一场契合节庆氛围的仪式. >>>> 又是一年一度大家互问"你集齐五福了吗"的时节. 自2016 ...

  8. 「第六篇」对于电赛,我们应该看重什么?

    这几天更新了一些关于电赛的帖子,有设计方案,也有一些经验贴.大家可以在下面的链接找到. 「第一篇」大学生电子设计竞赛,等你来提问. 「第二篇」全国一等奖,经验帖. 「第三篇」全国电子设计竞赛,这些你必 ...

  9. Facebook广告投放数据难以整理?你只需要这个「FB广告报表」插件!

    为了满足用户的各种使用场景需求,AdsPower「应用中心」插件持续上新中 近日,由AdsPower团队自主研发的「FB广告报表」应用插件已上线 本文将详细介绍其功能与具体操作 「FB广告报表」插件 ...

  10. web 点击劫持 X-Frame-Options

    原理解释 点击劫持,clickjacking,也被称为UI-覆盖攻击.这个词首次出现在2008年,是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼首创的. 它是通过覆盖不可见的框架误导受害者点击. 虽 ...

最新文章

  1. 网站前端和后台性能优化18
  2. 《Oracle系列》:oracle job详解
  3. Python中str、list、numpy分片操作
  4. html让时间只展示年月日_如何用html写代码,使得在网页上显示当前的时间和日期...
  5. 《少年的你》短评情感分析——机器学习之逻辑回归
  6. WIN7下访问ftp的方法
  7. 持续集成~Jenkins构建GitHub项目的实现
  8. linux下使用source执行文件的含义
  9. basemap库安装教程
  10. 人工智能助力三维几何自动化建模
  11. php 如何使用ck播放视频,[原创]简单代码利用ckplayer播放器实现帝国CMS播放优酷在线视频...
  12. 农业灌溉水力驱动过滤器
  13. Vivado:Generate Bitstream比特流写入失败的解决方法
  14. SQL模糊查询时LIKE怎样跟变量
  15. HTML5触摸事件(多点触控、单点触控)Demo
  16. 各种排序算法、十大排序算法
  17. CMakeLists.txt 构建 Qt工程
  18. 美团外卖推荐智能流量分发的实践与探索
  19. 关于NeteaseCloudMusicApi接口文档
  20. 使用python语言,利用tushare进行股票筛选

热门文章

  1. 管理,就是做减法!聊聊 “奥卡姆剃刀定律”
  2. PCB多层板的一些资料
  3. Python笔记 · self,cls,实例方法,静态方法,类方法
  4. qwert rfgfgfh
  5. 360与腾讯之争——顾客有可能成为上帝
  6. [开箱即用]一个用PHP实现的文字翻译,支持谷歌、百度、小牛翻译sdk(工厂抽象模式)
  7. 学位房如何查询学位真实性和户口是否被占用
  8. python中如何将矩阵中的元素赋值为两倍_python给矩阵内元素赋值
  9. springboot 整合谷歌 gRPC
  10. python PIL 图像处理库简介(一)