这十二行代码是如何让浏览器爆炸的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
HypoChen
V2EX    Javascript

这十二行代码是如何让浏览器爆炸的?

  •  
  •   HypoChen 2016-01-20 23:44:22 +08:00 12001 次点击
    这是一个创建于 3554 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://www.freebuf.com/articles/terminal/93807.html

    谁来解释下原理,不是很明白 23333

    66 条回复    2019-01-16 23:10:29 +08:00
    wjself
        1
    wjself  
       2016-01-20 23:55:33 +08:00
    HypoChen
        2
    HypoChen  
    OP
       2016-01-20 23:59:18 +08:00
    @wjself 内存没有炸掉, CPU 爆了
    HypoChen
        3
    HypoChen  
    OP
       2016-01-21 00:00:02 +08:00
    @wjself 刚才手误粘贴错了

    jiezhi
        4
    jiezhi  
       2016-01-21 00:00:49 +08:00 via iPhone
    苹果重启了!!!
    BSD
        5
    BSD  
       2016-01-21 00:17:38 +08:00
    cpu 占用 90%多,只能通过任务管理器来杀掉。。。
    raysonx
        6
    raysonx  
       2016-01-21 00:24:10 +08:00 via Android
    估是器不用存且法放,最 out of memory 崩
    cxbig
        7
    cxbig  
       2016-01-21 00:28:19 +08:00
    MacBook 12", MacBook Pro 13"实测无效,
    循环加到一千万次,只是 CPU 满格而已,内存 50%左右
    bdbai
        8
    bdbai  
       2016-01-21 00:52:32 +08:00 via iPhone
    WP 表示只是地址栏爆炸,网页还能轻松关掉,微软黑科技
    Biwood
        9
    Biwood  
       2016-01-21 01:02:37 +08:00
    眼睁睁的看着 Chrome 占用内存飙到 2G ,赶紧结束任务了
    505243267
        10
    505243267  
       2016-01-21 01:19:05 +08:00
    safari 和 kernel_task 内存占用均超过 10G , safari web 内容内存占用超过 3G , CPU 满。
    由于还有工作为保存,强行退出了 safari 。
    xbb7766
        11
    xbb7766  
       2016-01-21 01:22:36 +08:00 via Android
    Noscript 大法好。
    Trim21
        12
    Trim21  
       2016-01-21 02:26:40 +08:00
    安卓只是 chrome 卡死。。。关掉就好了。。
    lessate2
        13
    lessate2  
       2016-01-21 02:54:34 +08:00 via Android
    安卓扣肉表示进程全重启了
    msg7086
        14
    msg7086  
       2016-01-21 04:52:27 +08:00
    跑到 15000 ,吃了 900M , CPU 倒是满了。 Opera 12 @ Windows 10 。
    Bingbing
        15
    Bingbing  
       2016-01-21 07:45:49 +08:00 via iPhone
    为什么?大神求解答
    feather12315
        16
    feather12315  
       2016-01-21 08:17:26 +08:00 via Android
    Ff Android 就那个网页假死了,关掉就没事了
    lycos
        17
    lycos  
       2016-01-21 08:39:02 +08:00
    v2 上有多少黑客级别的人物啊?
    XueSeason
        18
    XueSeason  
       2016-01-21 08:44:54 +08:00
    CPU 占用 150%,内存飙到 10 G 。直接退出。
    LedChang
        19
    LedChang  
       2016-01-21 08:45:31 +08:00
    cpu 干到 150% rmbp 13
    shakoon
        20
    shakoon  
       2016-01-21 09:01:56 +08:00
    @XueSeason @LedChang 为什么会有 150%这种看起来很不科学的数值?
    qgy18
        21
    qgy18  
       2016-01-21 09:09:31 +08:00 via iPhone
    @shakoon 是因为多核么?
    asdwfwqd
        22
    asdwfwqd  
       2016-01-21 09:24:50 +08:00
    破 Windows xp 里面的 ie 浏览器居然没事
    maskerTUI
        23
    maskerTUI  
       2016-01-21 09:28:02 +08:00
    cpu 一直 70%多,内存从开机的 1g 一直慢慢升到 5.78g ( 99%),然后就升不上去了,没有蓝屏没有重启。
    hronro
        24
    hronro  
       2016-01-21 09:37:15 +08:00
    @asdwfwqd 因为 IE 不支持 pushstate
    quericy
        25
    quericy  
       2016-01-21 09:39:28 +08:00
    Edge 毫无鸭梨

    ariesjia
        26
    ariesjia  
       2016-01-21 09:42:24 +08:00
    @wjself pushstate 只是操作 url ,并没有加载页面。 能解析的更详细一点么,还是没有懂为啥会崩溃
    elvba
        27
    elvba  
       2016-01-21 09:44:51 +08:00
    没压力……
    ooo3o
        28
    ooo3o  
       2016-01-21 10:07:56 +08:00
    IE 对这个免疫的. 谷歌垃圾.
    wyntau
        29
    wyntau  
       2016-01-21 10:10:10 +08:00
    @shakoon 因为有几核, 最大就是百分之几百
    komiles
        30
    komiles  
       2016-01-21 10:10:46 +08:00
    demo :(温馨提示:请保存浏览器其它窗口的编辑任务)
    www.0xroot.cn/demo.html (点击一下,又不会怀孕!)
    xAI
        31
    xAI  
       2016-01-21 10:16:07 +08:00
    CPU 占了 14% 左右,内存一路飙升,直到占满 32G , Chrome 一直是卡死状态
    xiaodongus
        32
    xiaodongus  
       2016-01-21 10:55:52 +08:00
    ![]( )
    看着好给力
    chuhemiao
        33
    chuhemiao  
       2016-01-21 11:58:26 +08:00
    好奇心害死了多少猫
    breeswish
        34
    breeswish  
       2016-01-21 12:03:12 +08:00   2
    这三行代码是如何让你程序爆炸的?

    while(true) {
    malloc(1024);
    }
    wjself
        35
    wjself  
       2016-01-21 12:08:59 +08:00
    @ariesjia 操作一次貌似是求一次的,不就是不入而已 且你看下串字符串有多大……
    t="";for (var i=0;i<1000000;i++){t+=i.toString()}document.write(t);
    FrankFang128
        36
    FrankFang128      2016-01-21 12:10:08 +08:00
    这种网站无法传播呀,差评
    aivier
        37
    aivier  
       2016-01-21 12:32:35 +08:00
    哪个语言这样写不爆炸...

    上次手误这样写了一段 C#,无限调用没释放,第一次见到 堆栈溢出 错误..
    Bingbing
        38
    Bingbing  
       2016-01-21 12:39:19 +08:00
    为什么 点一下浏览器爆炸,然后把代码拷贝出来放到本地,再打开 HTML 浏览器却没有影响
    shyling
        39
    shyling  
       2016-01-21 13:00:33 +08:00
    pushState 会添加浏览器的 History 栈?
    nisekoi
        40
    nisekoi  
       2016-01-21 13:14:52 +08:00
    edge 大法好
    magicdawn
        41
    magicdawn  
       2016-01-21 13:25:53 +08:00
    // 这个呢
    while(true) document.body.append(document.createElement('div'));
    magicdawn
        42
    magicdawn  
       2016-01-21 13:27:26 +08:00   1
    while(true) document.body.appendChild(document.createElement('div'));
    Slienc7
        43
    Slienc7  
       2016-01-21 13:31:08 +08:00
    会不会让可以模拟 JS 的蜘蛛爆炸...
    Slienc7
        44
    Slienc7  
       2016-01-21 13:34:00 +08:00
    @magicdawn
    页面卡死,但是滚动之类都可以,其他窗口均不受影响。
    zhuangzhuang1988
        45
    zhuangzhuang1988  
       2016-01-21 13:34:10 +08:00
    用 ie 表示, 什么问题??
    cheneydog
        46
    cheneydog  
       2016-01-21 13:41:54 +08:00
    哪用那么麻烦:

    while(true){}
    zorksylar
        47
    zorksylar  
       2016-01-21 13:53:43 +08:00
    fedora 23 + chrome 直接 死机
    codenoob
        48
    codenoob  
       2016-01-21 14:07:09 +08:00
    玩着好爽。。看着 cpu 占用爆炸到死机
    zhe13
        49
    zhe13  
       2016-01-21 14:12:39 +08:00
    win10 Firefox.卡顿之后提示是否停止脚本。 CPU31%,内存 20%。一切正常
    bngzoo
        50
    bngzoo  
       2016-01-21 15:01:14 +08:00
    win10 下打开 CPU100% 内存攀升到 93%然后浏览器自动退出。。 QQ 浏览器极速模式
    hging
        51
    hging  
       2016-01-21 15:14:06 +08:00
    貌似他自己线挂了.
    skywatcher
        52
    skywatcher  
       2016-01-21 15:33:27 +08:00
    win10 CPU 95%,内存 60%, chrome 卡死,其他能勉强正常用
    TakanashiAzusa
        53
    TakanashiAzusa  
       2016-01-21 15:58:13 +08:00
    @Bingbing 你直接双击打开的吧?试试用 localhost 。。
    xyu1991
        54
    xyu1991  
       2016-01-21 16:00:14 +08:00
    有人试过 win10 的 edge 浏览器吗?我用那个浏览器测试,瞬间加载完,然后出现“恭喜你,你已经怀孕了! ”这个提示
    xyu1991
        55
    xyu1991  
       2016-01-21 16:02:08 +08:00
    IE 也是一样瞬间加载完成, cpu 使用率只是小幅的增了一下,然后瞬间就下去了。
    a68UkLHpycW7ImyV
        56
    a68UkLHpycW7ImyV  
       2016-01-21 18:25:39 +08:00
    SecurityError: The operation is insecure.
    xmoiduts
        57
    xmoiduts  
       2016-01-21 18:33:57 +08:00 via Android
    可以加入 http 劫持套餐了。
    zhjits
        58
    zhjits  
       2016-01-21 19:23:40 +08:00
    情绪稳定(
    DendimoN
        59
    DendimoN  
       2016-01-21 20:28:13 +08:00
    Safari for Mac 卡死 但是仅仅浏览器卡死而已。。其他很正常。。 iPad 上面的 Safari 打开就白苹果重启了。。
    Esec
        60
    Esec  
       2016-01-21 20:39:38 +08:00
    tSQghkfhTtQt9mtd
        61
    tSQghkfhTtQt9mtd  
       2016-01-22 09:26:04 +08:00
    CPU 60%左右,内存 4.9G 一直升到 10G 后浏览器崩溃 = =
    darksc
        62
    darksc  
       2016-01-22 09:29:01 +08:00
    没压力啊。
    ifaii
        63
    ifaii  
       2016-01-22 14:04:54 +08:00
    chrome 拖死了机器
    iPhone 直接重启
    JimmyChan1506
        64
    JimmyChan1506  
       2016-01-22 16:21:00 +08:00
    MACBOOK PRO 没有重启, IPHONE 也没有
    Khlieb
        65
    Khlieb  
       2016-01-28 14:07:24 +08:00 via Android
    @Esec 我也是,握爪
    sojson
        66
    sojson  
       2019-01-16 23:10:29 +08:00
    为什么要这么复杂?
    while(!0){window.location.href=window.location.href+'?'+Math.random()} 这样不就可以了?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2823 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 14:40 PVG 22:40 LAX 07:40 JFK 10:40
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86