真假URL难分辨,Safari浏览器安全漏洞大曝光

真假URL难分辨,Safari浏览器安全漏洞大曝光

如果您正在使用Safari浏览器,那么要当心了!目前有安全研究人员发现此浏览器存在严重漏洞,可让不法黑客乘虚而入,在不改变地址的情况下改变网页内容。

我们知道,网站可以在浏览器主窗口中显示任何内容,即便是欺诈性文字和其他徽标,但网址地址栏却不能轻易篡改。通过对地址栏内容的控制,浏览器可以帮助用户发现一些虚假的信息。例如,攻击者可以给用户提供虚假的银行登录页面,但地址栏的内容是他们无法改写的,因此用户稍加注意就能分辨出这是否为真实的银行地址。

事实上,如果用户在输入个人数据之前仔细查看地址栏,就能够发现并避免绝大多数的网络钓鱼攻击,因为攻击者们无法轻易控制地址栏并修改其内容。

正因为如此,当Safari浏览器中出现伪造URL安全漏洞时,我们决定一探究竟。

众所周知,Safari现在可能还算不上是一款普及度很高的桌面浏览器——原因在于它只有在苹果公司的Mac计算机上可用,谷歌公司的Chrome浏览器和Mozilla公司的Firefox浏览器都给Safari带来了极大的竞争压力。Safari移动端也可在iphone和ipad上使用,是系统上预安装的默认浏览器。

这个Bug其实很简单,我们一起来看一下这个流程。以下面这个简单的网页为例,托管网站为ns.example

真假URL难分辨,Safari浏览器安全漏洞大曝光

访问者将看到类似这样的内容,网址名称在地址栏中清楚地标明:

真假URL难分辨,Safari浏览器安全漏洞大曝光

如果我们想添加一些脚本,可以先加载内容,然后操作浏览器使用JavaScript location.assign()函数跳转到一个新页面。

接下来,网页会在显示“here is some content”文本后会立即跳转到一个其他的网站other.test

真假URL难分辨,Safari浏览器安全漏洞大曝光

如图所示,当location.assign脚本发生这种情况时,浏览器会在地址栏显示一个新网址other.test

真假URL难分辨,Safari浏览器安全漏洞大曝光

但是,如果我们调整重定向的Url,以便指向伪造的网络端口(HTTP服务器默认端口80;HTTPS使用端口443),那么浏览器将尝试连接未侦听的端口。接下来就是漫长的等待,最后网页会出现超时提醒,并报告错误。

真假URL难分辨,Safari浏览器安全漏洞大曝光

在Firefox浏览器中,当浏览器等待location.assign脚本运行时,我们不会发现任何异常情况。但是在页面跳转失败后,浏览器中的地址发生了变化,主窗口会显示错误提醒:

真假URL难分辨,Safari浏览器安全漏洞大曝光

到现在为止一切还都算正常的。然而Safari的Bug在于,一旦网页跳转开始,它就会立即更新地址栏,显示新网站的名称。但在跳转失败之前,旧地址还是会保留在主窗口中。

再稍微等待一分钟左右,我们将看到ns.example页面上的内容,但地址栏却显示该网站的名称是other.test

真假URL难分辨,Safari浏览器安全漏洞大曝光

事实证明,当location.assign()函数尝试进行重定向时,Safari不允许用户在上面显示的Web表单中键入任何内容,即使可以单击[Submit]按钮,也无法直接泄漏任何表明用户在另一个网址上的数据。

但是,攻击者可以提供一个JavaScript对话框,要求输入信息,如登录密码。这些信息最终会被发送到原始网站(ns.example)而不是地址栏(other.test)中声明的其他网站,伪造Url就是这么来的。

在iPhone上,Bug相比Mac端就稍微麻烦点儿了——为了节省屏幕空间,移动端Safari只显示了网站名称,而没有端口号:8000(或其他端口号):

真假URL难分辨,Safari浏览器安全漏洞大曝光

当然,即使显示了伪造的端口号,用户也不太可能注意到它,我们姑且就把它当成是桌面版Safari额外的“赠品”吧。

简单点说,通过漏洞攻击者可以加载合法页面,让网页地址在地址栏显示,然后快速将页面内的代码转换为恶意代码,地址栏中的URL地址无需改变。

根据报告此漏洞的研究人员的说法,Edge和Safari过去都存在这样的错误:网页内容完全显示之前地址栏就会显示新的URL名称,微软在8月修补了Edge的这一Bug。然而直到现在,苹果公司还没有修补Safari的这个漏洞。

原创文章,作者:M0tto1n,如若转载,请注明出处:http://www.mottoin.com/news/113593.html

发表评论

登录后才能评论

联系我们

021-62666911

在线咨询:点击这里给我发消息

邮件:root@mottoin.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code