网站敌人之二:URL状态栏欺骗
现代浏览器状态栏的设计方式,和以前比较起来有很大的变化。以前的状态栏是以一个浏览器独立模块固定在浏览器最下端的。而现代浏览器状态栏的设计方式则不同。
这种状态栏设计最明显的变化是,当你把鼠标放在链接上时,状态栏才会出现,鼠标离开时,状态栏将会消失。这样的呈现方式逻辑上会存在一个问题,最左下角的这块区域,既是状态栏显示区域又是页面显示区域。视觉上给我们的呈现效果就是状态栏在页面区域的左下角显示。因此我们就可以使用脚本模拟状态栏,进而实施状态栏欺骗。
那么现代浏览器状态栏这种有阴影有圆角的外形,从技术角度看是否能够用脚本实现?答案是肯定的。在CSS3中增加了圆角(box-shadow)和阴影(border-radius)的方法实现。未来如果出现类似于模块区域越界到页面的情况,我们同样可以使用脚本进行伪造欺骗。关于这种攻击方式,天融信公司通过与微软、谷歌、火狐的讨论,一致认为这确实是一个问题,但并不至于造成更大的安全风险,所以也暂时不想更改这种浏览器状态栏的处理方式。虽然浏览器厂商都没有明确表示这是一个漏洞,但Bugtraq还是收录了天融信阿尔法实验室发现的三个漏洞。
漏洞的信息如下:
Microsoft Internet Explorer CSS Handling Status Bar Spoofing Vulnerability
Bugtraq ID: 47547
Google Chrome CSS Handling Status Bar Spoofing Vulnerability
Bugtraq ID: 47548
Mozilla Firefox CSS Handling Status Bar Spoofing Vulnerability
Bugtraq ID: 47549