最近几个不同的Web浏览器出现地址栏欺骗漏洞。这些漏洞背后的问题是什么?
JavaScript函数setInterval是HTML DOM窗口对象的一种方法,能连续执行指定代码。Deusen研究人员发现,通过使用setInterval函数每10秒重新加载网页,攻击者能够让地址栏显示真正有请求的站点的URL而浏览器上显示的则是攻击恶意网页的内容。在某些情况下,比如iPad上的Safari,能够作为一次钓鱼攻击的一部分。JavaScript代码执行攻击是非常简单的,他不断地重新加载攻击者的页面。这导致用户查看攻击者的页面,然而地址栏上仍旧显示用户需求的页面URL。这就是当用户以为他们访问一个合法网站时,实际上看到的是一个被攻击者控制的网站。
显而易见,setInterval方法遭误用时,网页以百分之一秒快速重载,这导致大多数设备锁定或是网页变得不可用。同时,地址栏会一直闪烁。一种更活跃的地址栏欺骗漏洞存在于Android浏览器中。当结合window.open时,该浏览器无法处理204无内容响应。204无内容意味着服务器成功处理了请求,但却不返回任何内容。Android安全团队已经发布了补丁,但这取决于电信运营商是否分发了下去。
Web浏览器的地址栏是用户查看其是否在所需网站上的一个关键指标。如果攻击者能够控制它显示的内容,则钓鱼攻击更有可能成功实施。作为一个网站管理员,当用户浏览器上有漏洞时,没有什么太好的法子阻止黑客利用地址栏欺骗漏洞来盗窃用户的敏感数据。这些漏洞很可能构成重大的威胁,不过这也提醒了人们应该使用最新的浏览器软件,并定期参加安全意识会话学习篡改地址栏的钓鱼技术。
为了防止员工上这类漏洞欺骗的当,企业应当为他们安排安全培训,加强对这类攻击的认识,不乱点击不明来源的链接。
作者:Michael Heller 翻译:张程程
来源:51CTO