2 votos

Hay alguna forma de detectar una llamada entrante ZipBomb?

Estoy construyendo un ASP.NET aplicación desplegada a IIS y estoy trabajando activamente en seguir los pasos necesarios para habilitar el soporte para Content-Encoding: gzip

No hay planes actuales para el servidor en el que estoy trabajando para ser enviado a la web público, pero me gustaría al menos investigar las opciones para la mitigación de ZipBomb ataques en mi servidor. Si mi cliente toma la decisión de hacer su solicitud a disposición de sus usuarios a través de canales públicos, me gustaría ya tener mis patos en una fila.

Si yo fuera a ser capaz de averiguar cómo obtener GZ POST cuerpos a venir a través de IIS (elemento activo en LO relacionado a eso), ¿cuáles serían mis opciones para detectar el tamaño de la sin comprimir contenido sin desempaquetar el archivo?

Como una ilustración - si alguien ha Publicado 42 a mi servidor, descomprimir el contenido detonar la bomba. Hacer cualquiera de las opciones que existen para detectar que "esto" 42 kb representa un 4,5 PB de datos y de rechazarlo?

  • ¿Cómo se hace mediante programación detectar que con cremallera contenido es capas sin detonar la bomba y sin streaming el contenido en un buffer de tamaño fijo?

    (Es decir: ¿hay alguna utilidad, servicio, o la metodología que se puede aplicar en general a interrogar el contenido de un archivo zip sin necesidad de abrir?)

1voto

shodanshok Puntos2644

El formato ZIP especifica comprimido y sin comprimir el tamaño del archivo. El análisis de estas cabeceras, usted debería ser capaz de extraer la información necesaria.

Dar un vistazo aquí para obtener más información acerca de la POSTAL de los encabezados.

0voto

Olivier Dulac Puntos795

Aparte de la detección se da en otras respuestas, usted podría mitigar inpacts, forzando la descompresión de archivos en una partición que no sea esencial para el funcionamiento de su servidor (es decir, no la partición/, no /tmp, etc).

Incluso se podría hacer esto de forma dinámica, por ejemplo: crear (en otra partición) un archivo de 2 gb, formato (mkfs, etc), y montarlo en el correspondiente punto de montaje (por ejemplo: un determinado subdir bajo el usuario homedir?) y tienen la uncompression (incluyendo archivos tmp) se producen en la recién directorio montado. a continuación, mueva los archivos una vez que u comprimido, desmontar la partición y "reciclar" el archivo de 2 gb.

Hay varias maneras de mitigar los impactos y asegurar la zipbomb no crecen demasiado grande (no será capaz de ir sobre el tamaño de la partición)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: