《白帽子讲Web安全》5-点击劫持(ClickJacking)

第5章 点击劫持(ClickJacking)

5.1 什么是点击劫持

点击劫持是一种视觉上的欺骗。攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,通过调整iframe的位置,诱使用户恰好点击在iframe页面的一些功能性按钮上。

点击劫持与CSRF有异曲同工之妙,都是在用户不知情的情况下诱使用户完成一些动作。

5.2 Flash点击劫持

攻击者通过Flash构造出了点击劫持,在完成一系列复杂的动作后,最终控制了用户电脑的摄像头。

该Flash游戏中的某些点击是有意义的,有些是无效的。攻击通过诱导用户鼠标点击的位置,能够完成一些较为复杂的流程,最终打开了用户的摄像头。

5.3 图片覆盖攻击

Cross Site Image Overlaying攻击,简称XSIO。

攻击者通过调整图片的style使得图片能够覆盖在他所指定的任意位置。

XSIO不同于XSS,它利用的是图片的style,或者能够控制CSS。

由于标签在很多系统中对用户是开放的,因此在现实中有非常多的站点存在被XSIO攻击的可能。

5.4 拖拽攻击与数据窃取

浏览器的拖拽是不受同源策略限制的。

“拖拽劫持”的思路是诱使用户从隐藏的不可见iframe中“拖拽”出攻击者希望得到的数据,然后放到攻击者能控制的另外一个页面中,从而窃取数据。

在JavaScript或者Java API的支持下,这个攻击过程会变得非常隐蔽。

5.5 ClickJacking 3.0:触屏劫持

这种针对视觉效果的攻击可以被利用进行钓鱼和欺诈。

5.6 防御ClickJacking

5.6.1 frame busting

5.6.2 X-Frame-Options

5.7 总结

ClickJacking相对于XSS和CSRF来说,因为需要诱使用户与页面产生交互行为,因此实施攻击的成本更高。

但仍有可能被攻击者利用,不可不察。

你可能感兴趣的:(Web,安全,web)