使用JavaScript崩溃firefox

Tho*_*yme 7 javascript security firefox

我是测试团队的一员,并且在Firefox浏览器中使用JavaScript负责"表现糟糕".我已经尝试过这些方法来关闭浏览器,但是他们都没有做任何比导致弹出窗口要求关闭脚本更糟糕的事情.

还有其他想法吗?

小智 11

有点类似于"叉炸弹"

<html>
<body>
<a href="#" onclick="die()">click me!</a>
<script>
function die () {
  setTimeout(function () {die(); die()}, 0)
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

它不会被FF 3.6及以下版本所阻止(除非用户碰巧很快关闭违规标签).你让它运行的时间越长,它就越凶狠.最终会耗尽进程可用的所有内存.CPU上的负载也应该增加.某些操作系统将比其他操作系统更好地应对错误的FF.如果您还在每个周期对DOM应用适当的负载,则可以使其更加简并.

编辑:"仅为了世界的利益而使用这些知识." :-)

  • 呃,多么脆弱.在32位版本的Firefox上,这是一个简单的DoS攻击,会在几分钟后取消Firefox.这在64位Firefox上更糟糕(例如在x86-64 Linux上):浏览器可以分配几乎无限量的内存,可能会因为交换而锁定机器直到OOM杀手检测到它,或者在系统上没有类似的功能,完全崩溃计算机.这真的需要修补. (2认同)

bob*_*nce 6

脚本执行时看门狗很好,但它并没有解决模态循环问题.转到alert,confirm或者prompt框会停止计时器,使得:

<script>while(true) alert('alert bomb');</script>
Run Code Online (Sandbox Code Playgroud)

很难逃脱,这:

<body onbeforeunload="while(true) alert('alert bomb');">
Run Code Online (Sandbox Code Playgroud)

实际上不可能 (让您的任务管理器得心应手.)

使用难以逃脱的模态循环是攻击性间谍软件安装程序页面的最佳策略.("单击是立即安装VomitBar或面对无尽的警报框......")

  • Chrome> Firefox就是这个:); http://tinypic.com/r/54smer/5 (3认同)
  • Chrome提供了在第一个框后终止脚本的选项. (2认同)