神秘12行javascript代码:让Firefox等浏览器崩溃 iphone秒重启

所属分类: 软件教程 / 编程开发 阅读数: 1081
收藏 0 赞 0 分享

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

上周,国外网友Cyber Security@cyber__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://www.0xroot.cn/demo.html(不怕死的可以试试,请提前保存好浏览器内容

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

为什么会这样呢?

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

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

简直瞎了我的眼!

如果你是PC端用户,点开链接以后,电脑CPU内存极有可能一路狂飙直至浏览器崩溃卡死...

如果你是移动端(安卓、iPhone)用户,点开链接以后你的浏览器会闪退!在微博、微信点开链接也同样会闪退。

为什么会发生此现象呢?对此我在知乎上找到了一位名为“小米”的大神解答:

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

好吧,反正对于连“hello world”都不会编的我,是一点也看不明白...总之牛气炫酷吊炸天就对了!

更多精彩内容其他人还在看

VS2013 ultimate许可证已过期无法输入序列号该怎么办?

VS2013 ultimate许可证已过期无法输入序列号该怎么办?看到很多网友遇到这个问题都是直接卸载从新安装的,但是又要重新设置软件,很麻烦,今天教大家一个比较简单的方法,不需要重装软件,需要的朋友可以参考下
收藏 0 赞 0 分享

DW站点中新建文件夹和修改、删除、移动文件方法图解

下面为大家分享DW站点中新建文件夹和修改、删除、移动文件方法,教程真的很不错,很基础,适合新手来学习,推荐过来,一起来学习吧
收藏 0 赞 0 分享

Eclipse怎么快速开发jni程序?

Eclipse怎么快速开发jni程序?开开发软件的时候需要配置结合java和c++的程序开发环境,才能达到两者都支持Eclipse,下面我们就来看看详细的配置方法
收藏 0 赞 0 分享

Xmanager Enterprise 5怎么破解安装?

Xmanager Enterprise 5怎么破解安装?Xmanager5是一款浏览远端X窗口系统的工具。在工作中经常使用Xmanager来登录远端的Solaris系统,下面我们来看看Xmanager5的破解安装方法
收藏 0 赞 0 分享

MyEclipse怎么新建Servlet? MyEclipse快速创建Servlet的方法

MyEclipse怎么新建Servlet?今天我们来教大家创先项目Servlet的方法和在项目中创建Servlet的方法,下面分享MyEclipse快速创建Servlet的两种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Dreamweaver创建表格和表格的编辑方法介绍

这篇教程是向脚本之家的朋友分享Dreamweaver创建表格和表格的编辑方法,教程比较基础,适合新手来学习,推荐到脚本之家,大家一起来学习吧
收藏 0 赞 0 分享

在DW中创建层和为层里插入图像

这篇教程是向脚本之家的朋友分享在DW中创建层和为层里插入图像方法,教程很基础,适合新手来学习,推荐到脚本之家,喜欢的朋友来学习吧
收藏 0 赞 0 分享

Sublime Text怎么设置文件在新标签打开?

Sublime Text怎么设置文件在新标签打开?使用Sublime Text打开文档,总是在原来的窗口打开,覆盖了原来的文件,该怎么设置文件在新窗口打开呢?下面分享详细的设置方法,需要的朋友可以参考下
收藏 0 赞 0 分享

vs2012能编写c语言吗? VS2012编写c语言的方法

vs2012能编写c语言吗?想用Visual Studio 2012编写c语言,不知道能不能使用,今天我们来看看VS2012编写c语言的方法,下面我们来看看详细教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Android studio最近任务列表该怎么清空?

Android studio最近任务列表该怎么清空?Android studio记录了很多最近打开的开项目列表,想将这个记录清空,该怎么办呢?下面我们来看看Android studio清空最近打开项目列表的方法
收藏 0 赞 0 分享
查看更多