5.1 什么是点击劫持?
(1)<stron>。攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。
(2)2008年,安全专家Robert HansenJeremiah Grossman发现了点击劫持。
(3)<stron>。但是在CSRF攻击的过程中,如果出现用户交互的页面,则攻击可能会无法顺利完成。与之相反的是,<stron>。</stron></stron></stron>

5.2 Flash点击劫持
(1)攻击者制作了一个Flash游戏,并诱使用户来玩这个游戏。这个游戏就是让用户去点击“CLICK”按钮,最终打开了用户的摄像头。

5.3 图片覆盖攻击
(1)<stron>,还有一些攻击方法也可以起到类似的作用,比如图片覆盖,Cross Site Image Overlaying攻击,简称XSIO
(2)在防御XSIO时,需要检查用户提交的HTML代码中,img标签的style属性是否可能导致浮出。
(3)XSIO利用的是图片的style,或者能够控制CSS。</stron>

5.4 拖拽劫持与数据窃取
(1)目前很多浏览器都开始支持Drag & Drop的API。
(2)浏览器中的拖拽对象可以是一个链接,也可以是一段文字,还可以从一个窗口拖拽到另外一个窗口,因此拖拽是不受同源策略限制的。
(3)“拖拽劫持”的思路是诱使用户从隐藏的不可见iframe中“拖拽”出攻击者希望得到的数据,然后放到攻击者能控制的另外一个页面中,从而窃取数据。

5.5 ClickJacking 3.0:触屏劫持
(1)触屏劫持称为TapJacking。
(2)通过将一个不可见的iframe覆盖到当前网页上,可以劫持用户的触屏操作

5.6 防御ClickJacking
(1)针对传统的ClickJacking,一般是通过禁止跨域的iframe来防范
(2)通过写一段JavaScript代码,以禁止iframe嵌套的方法叫frame busting
(3)像HTML5中iframe的sandbox属性、IE中iframe的srcurity属性等,可以限制iframe页面中的JavaScript脚本执行,从而可以使得frame busting失效。
(4)因为frame busting存在被绕过的可能,所以使用一个HTTP头——X-Frame-Options

5.7 小结
(1)ClickJacking需要诱使用户与页面发生交互行为,实施攻击的成本高,但是不可不察。