1、页面显示时的安全问题
攻击者把低权限的内容,借由高权限的载体展示出来,利用一些欺骗性的内容对用户进行攻击,这称作责任混淆问题。例如,在一个超市中,顾客购买商品需要扫条形码结账。一名顾客用另一个商品的条形码覆盖掉真实的条形码,最后顺利地通过了条码扫描枪的扫描。这个例子便是利用了收银员对条形码的信任,进行了责任混淆攻击。
假条形码附着在高权限载体(物品)上:
在浏览器中也是如此,低权限的内容是欺骗性的文字、图片,高权限的载体便是浏览器。此类骗局通常都需要攻击者使用诱惑、恐吓性质的内容先获取用户信任,然后引导用户去做一些他们平时并不会去做的行为(例如填写密码、银行转账、安装程序等),下面我们介绍种种针对用户的攻击方式。
首先,让我们介绍一种类似“条形码覆盖”的攻击手法——点击劫持。
点击劫持(Clickjacking)是一种欺骗攻击手段,它通过在特制的网页中用欺骗性的内容覆盖在无害的内容之上,并诱使用户单击页面上的某个地方。当用户单击的时候,单击事件也会传给被覆盖的页面,这样可以让用户不知不觉地在被覆盖的页面上做操作。这好像是在你的键盘上覆盖一张纸,纸上写着“单击这里”,当你单击纸的同时,也会按到下面的按键。
虽然现在常见的Clickjacking攻击没有利用浏览器内核代码的缺陷,但是也应当被视为安全问题。随着攻击案例越来越多,浏览器厂商也讨论出了一个方案——网站可以在HTTP头中声明自己不允许在框架中加载(我们将稍后介