zipbomb.me
what is a zip bomb?
A zipbomb is a type of denial-of-service attack that takes advantage of the compression ratio of a compression algorithm to create a payload that expands to a large size when uncompressed. This effect may impact the performance of software processing the file (consuming CPU cycles, exhausing memory, consuming storage space, etc.).
make your own zipbombs
Zipbombs can be trivially produced by sending a stream of uniform bytes through a compression algorithm. For example, passing 1GB of '\x00' to gzip (with the -9 flag to select the best compression ratio):
dd if=/dev/zero bs=1GiB count=1 | gzip -9 > 1gib.gz
You can check the size of the output:
# Show human-readable size of the compressed file du -bh 1gib.gz # Show uncompressed data size gzip -d -k 1gb.gz -c | wc -c | numfmt --to iec
compression ratios
A zipbomb author might choose to maximize the ratio between payload size in compressed vs. uncompressed format to allow sending the payload over size-limited or bandwidth-constrained channels. As an example, a 1GB payload might be gziped to only 948KB, which yields a 1055x expansion factor.
Not all compression algorithms are created equal. Some algorithms are optimized for images, videos, or other media and better compression ratios might be achieved by mimicking the structure they are optimized for.
available payloads
gzip bombs
Name | Compressed Size | Safe Download | 💣 gzip | 💣 text |
1GiB | 1018KiB | 1gib.gz | 1gib.gz | 1gib.gz |
10GiB | 10MiB | 10gib.gz | 10gib.gz | 10gib.gz |
100GiB | 100MiB | 100gib.gz | 100gib.gz | 100gib.gz |
Note: Firefox appears to ignore this header for gzip payloads and saves the payload compressed. Use the text link if you want to force Firefox to decompress gzip files.
brotli bombs
Name | Compressed Size | Safe Download | 💣 br | 💣 text |
1GiB | 809B | 1gib.br | 1gib.br | 1gib.br |
1GiB | 7.9KiB | 1gib.br | 1gib.br | 1gib.br |
100GiB | 79KiB | 1gib.br | 1gib.br | 1gib.br |
downloading payloads
The tables above provide three different download options.
- safe download:
- Downloads the compressed version of the zipbomb without any headers instructing your browser to uncompress the file. This is expected to be safe for most clients.
- 💣 compressed:
- Downloads the file with the Content-Encoding header set, instructing your browser or HTTP client to uncompress the payload.
- 💣 text:
- Sends a response with Content-Encoding set and Content-Type set to text/plain. This should trigger your browser to decompress and display the payload to you.
It is also possible to use curl to download the payloads. Curl will only uncompress the payload if the --compressed flag is passed.
# Download in compressed form: curl https://zipbomb.me/gz/1gib.gz -o 1gib.gz # Uncompress the files before saving: curl --compressed https://zipbomb.me/gz/1gib.gz -o 1gib
zipbomb.me © 2019-2025 by Austin Hartzheim is licensed under CC BY-NC-SA 4.0