第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。
由于<img>
标签在很多系统中对用户是开放的,因此在现实中有非常多的站点存在被XSIO攻击的可能。
5.4 拖拽攻击与数据窃取
浏览器的拖拽是不受同源策略限制的。
“拖拽劫持”的思路是诱使用户从隐藏的不可见iframe中“拖拽”出攻击者希望得到的数据,然后放到攻击者能控制的另外一个页面中,从而窃取数据。
在JavaScript或者Java API的支持下,这个攻击过程会变得非常隐蔽。