澳门新葡萄京官网注册 8

澳门新葡萄京官网注册网友:有没有一段代码,看起来简单,实则威力无穷 程序员:有啊

起因

澳门新葡萄京官网注册 1

澳门新葡萄京官网注册 2

今天刷推特的时候发现 Cyber
Security@cyber__sec 的推文让人眼前一亮:

事情的起因是这样的,国外一哥们Cyber Security在推特上发了这么一条推文:

神秘的12行代码

Crash firefox, chrome, safari browsers, and also restart iphone using this javascript code. #dos #0day #exploit//使用下面这段
JavaScript 代码能让 firefox,chrome,safari 浏览器崩溃,而且还能让
iphone 重启。

神秘的12行代码

这12行代码,是我在其他网站上看到的。现在拿过来分享。

澳门新葡萄京官网注册 3

这哥们声称,如果你使用上述这段12行的JavaScript代码,就可以能让firefox、chrome、safari浏览器崩溃,而且还能让iphone重启,安卓手机闪退!

如果你使用上述这段12行的Java代码,就可以能让firefox、chrome、safari浏览器崩溃,而且还能让iphone重启,安卓手机闪退!

澳门新葡萄京官网注册 4

网友们起初并不相信,于是继续在推特上深挖,发现另一小哥IT Security
Tweets也发过类似的推文:

起初我并不相信,现在浏览器都会进行检测屏蔽等等操作,于是继续在推特上深挖,发现另一小哥IT
Security Tweets也发过类似的推文:

继续在推特上深挖发现 IT Security Tweets
™ @F1r3h4nd 于 17 日发推:

依旧是这段代码

澳门新葡萄京官网注册 5

Crash your friend’s browser and restart Iphone with a link which has this script: #0day

//把带有下面这个脚本的链接发给你的朋友,能让你朋友的浏览器崩溃,而且让
Iphone 重启。

完整HTML代码如下:

依旧是这段代码

澳门新葡萄京官网注册 6

注意:前方高能!!

完整HTML代码如下:

完整 HTML 代码如下:

注意:前方高能!!

<>

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

注意:前方高能!!

var total=””;

demo:(温馨提示:请保存浏览器其它窗口的编辑任务)

如果光用说的你可能不信

for (var i=0;i<1000000;i++)

www.0xroot.cn/demo.html (点击一下,又不会怀孕!)

所以再此附上demo 感(shou)兴(jian)趣的可以试试:

{

接来下会发生什么?

(注意:请保存浏览器正在运行的编辑内容或任务!)

total= total+i.toString;

点开以后,我的状态是这样的:

点开后会发生什么?反正我的第一反应是这样的:

history.pushState(0,0,total);

澳门新葡萄京官网注册 7

简直瞎了我的眼!

}

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

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

下面来个刺激的!!!

如果你是移动端(安卓、iPhone)用户,点开链接以后你的浏览器会闪退!在微博、微信客户端点开链接同样会闪退。iPhone
用 Safari 打开之后链接之后,手机注销重启了!…

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

注意:如果你电脑或者手机low,千万不要点开!!!

思考

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

注意:如果你电脑或者手机low,千万不要点开!!!

这是 Bug 还是 0day?为什么会有这一现象?如何实现的?

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

注意:如果你电脑或者手机low,千万不要点开!!!

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

重要的事情说三遍

如果光用说的你可能不信滴

所以再此附上demo 感兴趣的可以试一试:

www.laosiji8.net/谁点谁怀孕.html

(注意:请保存浏览器正在运行的编辑内容或任务!)

点开后会发生什么?反正我的第一反应是这样的:

澳门新葡萄京官网注册 8

简直瞎了我的眼!

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

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

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

如果有正在学web前端的小伙伴,可来我们的学习扣qun哦:41010,8038里面免费送视频教程。小编也是一名从事了5年web前端开发的工程师,花了近一个月整理了一份较适合18年学习的干货,以及我这五年的工作经验,分享给每一位想学web前端的小伙伴,这里是web前端学习者聚集地,欢迎初学和进阶中的小伙伴。

发表评论

电子邮件地址不会被公开。 必填项已用*标注