神秘12行代码:分分钟让你电脑崩溃手机重启

1,759 次浏览次阅读
5条评论

最近,一段神秘的12行代码在国外社交网络上火了起来,据说能让你的浏览器瞬间崩溃,iPhone秒重启。到底是什么代码这么神奇?

上周,国外网友Cyber [email protected]__sec在Twitter上发布了这样一段推文

神秘12行代码:分分钟让你电脑崩溃手机重启

使用下面这段javascript代码,能让Firefox、Chrome、Safari浏览器崩溃,还能让iPhone重启”。

事实上,更早的时候,IT Security Tweets ™ @F1r3h4nd也发布类似的内容:

神秘12行代码:分分钟让你电脑崩溃手机重启

“把下面这个脚本链接发送给你的朋友,搞瘫他的浏览器,让他的iPhone重启。”喏,就是下面这段代码:

<html> <body> <script> var total=””; for (var i=0;i<1000000;i++) { total= total+i.toString (); history.pushState (0,0,total); } </script> </body> </html>

狸卡司也将此代码做成了链接:http://down.nmzh.net/sueri/demo.html(不怕死的可以自己试试或发给朋友看看,请提前保存好浏览器内容)

网友验证,如果是PC用户,内存使用率一路狂飙,浏览器会瞬间卡死;如果是手机用户,点开链接浏览器会闪退,而微博、微信内打开链接同样会闪退。如果是iPhone用户使用Safari打开之后链接,手机重启。

为什么会这样呢?

有知乎网友给出这样的解答

“history.pushstate()是HTML5引入的API,pushState将指定的URL添加到浏览器历史里,存储当前历史记录点。 当 i<100000 的时候会循环的将 total记录到浏览器历史里面,重复多了,浏览器就承受不住了,自然就崩了。”

 

酥耳狸
版权声明:本站原创文章,由酥耳狸2016-01-22发表,共计731字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(5条评论)
载入中...
2016-01-27 23:35:36 回复

准备转过去玩玩!

Corps
2016-01-31 23:14:07 回复

嗯。对历史记录进行处理,比单纯死循环要高明

陌小雨博客 评论达人 LV.1
2016-02-11 22:52:42 回复

收藏了

顶顶
2016-07-23 15:45:50 回复

貌似没用了