V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Hyponet

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

  •  
  •   Hyponet · Jan 20, 2016 · 12381 views
    This topic created in 3753 days ago, the information mentioned may be changed or developed.

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

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

    66 replies    2019-01-16 23:10:29 +08:00
    wjself
        1
    wjself  
       Jan 20, 2016
    https://developer.mozilla.org/en-US/docs/Web/API/History/pushState 短時間載入 10000 次網頁,你說內存會不會炸掉喔…
    Hyponet
        2
    Hyponet  
    OP
       Jan 20, 2016
    @wjself 内存没有炸掉, CPU 爆了
    Hyponet
        3
    Hyponet  
    OP
       Jan 21, 2016
    @wjself 刚才手误粘贴错了

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

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

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

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

    while(true){}
    zorksylar
        47
    zorksylar  
       Jan 21, 2016
    fedora 23 + chrome 直接 死机
    codenoob
        48
    codenoob  
       Jan 21, 2016
    玩着好爽。。看着 cpu 占用爆炸到死机
    zhe13
        49
    zhe13  
       Jan 21, 2016
    win10 Firefox.卡顿之后提示是否停止脚本。 CPU31%,内存 20%。一切正常
    bngzoo
        50
    bngzoo  
       Jan 21, 2016
    win10 下打开 CPU100% 内存攀升到 93%然后浏览器自动退出。。 QQ 浏览器极速模式
    hging
        51
    hging  
       Jan 21, 2016
    貌似他自己线挂了.
    skywatcher
        52
    skywatcher  
       Jan 21, 2016
    win10 CPU 95%,内存 60%, chrome 卡死,其他能勉强正常用
    TakanashiAzusa
        53
    TakanashiAzusa  
       Jan 21, 2016
    @Bingbing 你直接双击打开的吧?试试用 localhost 。。
    xyu1991
        54
    xyu1991  
       Jan 21, 2016
    有人试过 win10 的 edge 浏览器吗?我用那个浏览器测试,瞬间加载完,然后出现“恭喜你,你已经怀孕了! ”这个提示
    xyu1991
        55
    xyu1991  
       Jan 21, 2016
    IE 也是一样瞬间加载完成, cpu 使用率只是小幅的增了一下,然后瞬间就下去了。
    a68UkLHpycW7ImyV
        56
    a68UkLHpycW7ImyV  
       Jan 21, 2016
    SecurityError: The operation is insecure.
    xmoiduts
        57
    xmoiduts  
       Jan 21, 2016 via Android
    可以加入 http 劫持套餐了。
    zhjits
        58
    zhjits  
       Jan 21, 2016
    情绪稳定(
    DendimoN
        59
    DendimoN  
       Jan 21, 2016
    Safari for Mac 卡死 但是仅仅浏览器卡死而已。。其他很正常。。 iPad 上面的 Safari 打开就白苹果重启了。。
    Esec
        60
    Esec  
       Jan 21, 2016
    tSQghkfhTtQt9mtd
        61
    tSQghkfhTtQt9mtd  
       Jan 22, 2016
    CPU 60%左右,内存 4.9G 一直升到 10G 后浏览器崩溃 = =
    darksc
        62
    darksc  
       Jan 22, 2016
    没压力啊。
    ifaii
        63
    ifaii  
       Jan 22, 2016
    chrome 拖死了机器
    iPhone 直接重启
    JimmyChan1506
        64
    JimmyChan1506  
       Jan 22, 2016
    MACBOOK PRO 没有重启, IPHONE 也没有
    Khlieb
        65
    Khlieb  
       Jan 28, 2016 via Android
    @Esec 我也是,握爪
    sojson
        66
    sojson  
       Jan 16, 2019
    为什么要这么复杂?
    while(!0){window.location.href=window.location.href+'?'+Math.random()} 这样不就可以了?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1155 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 164ms · UTC 17:47 · PVG 01:47 · LAX 10:47 · JFK 13:47
    ♥ Do have faith in what you're doing.