别用Chrome浏览这篇文章,会崩溃!

摘要

早前就有8个字符让Skype崩溃的例子,今天我们提到的是16个字符让Chrome崩溃,你只需要点击这16个字符,甚至鼠标只是在这16个字节组成的链接周围移动都可导致Chrome崩溃。

别用Chrome浏览这篇文章,会崩溃!

早前就有8个字符让Skype崩溃的例子,今天我们提到的是16个字符让Chrome崩溃,你只需要点击这16个字符,甚至鼠标只是在这16个字节组成的链接周围移动都可导致Chrome崩溃。

挑战谷歌Chrome:只需16字符

这个Bug是Andris Atteka最先发现,在其博客中他解释说只需要在URL中增加一个null字符就可以轻松使得Chrome崩溃。在其博客中所举的例子有26字符长,而我们对其进行了一些精简,最后只需16个字符就可以让Chrome崩溃。

别用Chrome浏览这篇文章,会崩溃!

接下来,你可以在Chrome45(最新的稳定版本)以及早前的版本中的浏览器地址栏输入以下字符:

http://a/%%30%30

测试

(注意鼠标在周围移动就可触发,崩溃之后刷新页面即可恢复)

http://a/%%30%30

你的浏览器标签页或者整个浏览器会崩溃

亲测,鼠标触发后页面崩溃:

别用Chrome浏览这篇文章,会崩溃!

别用Chrome浏览这篇文章,会崩溃!

Atteka目前已经向Google报告了这个Bug(Chromium issue):

别用Chrome浏览这篇文章,会崩溃!

然而由于Google认为这个Bug本身并非安全问题,所以Atteka没有获得任何奖励,但是可以很容易的看出这个Bug对用户的影响比较大。

在链接上悬停鼠标,点击链接都可以导致你的Chrome选项卡崩溃,甚至连同其他选项卡:

别用Chrome浏览这篇文章,会崩溃!

在我们的测试中,Chrome for Windows 以及 Chrome for Mac都受到影响。有趣的是,我在Android版本上无法重现这个Bug。不管我在哪来插入null字符,都无法重现这个Bug。

为什么会这样?

安全牛报道,问题是这样产生的:

· URL尾端的%%300被转换成%00(0x30是ASCII码的0),这样就在网址末尾插入了一个空字节; · 这行URL被传递给GURLToDatabaseURL()函数,该函数调用ReplaceComponents()函数; · 上述行为引起URL被重复处理,并进行至空字节。浏览器认为这个空字节不应该出现,于是标记该URL为无效; · 代码路径又返回到The code path returns to GURLToDatabaseURL() 函数,但该函数认为这个URL应该是有效的,然后调用spec()函数; · 但该URL实际上是无效的,于是DCHECK()函数引起软件 bail out; · 当鼠标指针停留在URL的上面时,这个被认为无效的网址被发送到浏览器认为是有效地址的处理部分,最终标签页发生崩溃。

这也不是我们第一次报道Chrome崩溃的事件了,有兴趣的朋友可以继续看看下面给出的参考链接:

《千万别点:13个字符立即崩溃你的Mac版Chrome》

《AwSnap:让全版本(Windows、iOS、Android)Chrome浏览器崩溃的有趣漏洞》

* 参考来源:venturebeatAtteka安全牛,FB小编鸢尾编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: