
Demo de aplicación web vulnerable a CVE-2022-44900
Aplicación web de demostración vulnerable a CVE-2022-44900.
CVE-2022-44900 es una vulnerabilidad de salto de directorio en la función SevenZipFile.extractall() de la biblioteca Python py7zr version 0.20.0 y anteriores que permite a los atacantes leer y escribir archivos arbitrarios en la máquina local mediante la extracción de archivos 7z maliciosos.
Para explotar la vulnerabilidad CVE-2022-44900, un atacante necesita crear un archivo 7z malicioso que contenga un enlace simbólico para lograr una lectura de archivos arbitraria y un archivo con un payload de salto de ruta como nombre para lograr una escritura de archivos arbitraria.
Más detalles en: https://lessonsec.com/cve/cve-2022-44900/
Usa slip para generar archivos maliciosos: https://github.com/0xless/slip
Para ejecutar la aplicación web vulnerable puedes crear un contenedor Docker o ejecutar solo el servidor.
Si decides ejecutar solo el servidor, necesitas ejecutar:
pip3 install py7zr==0.20.0
Para instalar la versión vulnerable de py7zr.
Luego simplemente ejecuta la aplicación con:
python3 slipper.py
Y la aplicación web estará disponible en localhost:9999.
Para crear el contenedor, usa el dockerfile para crear la imagen slipper.
Luego crea un contenedor con red host y exponiendo el puerto 9999. Al igual que el otro método de instalación, esto te permitirá acceder a la aplicación web en localhost:9999.
El sitio web se verá así:

Ahora puedes extraer archivos e intentar explotar este laboratorio.
La aplicación web no está diseñada para estar abierta al público, probablemente sea vulnerable a otras vulnerabilidades y no maneja todos los errores correctamente (como se esperaría de un sitio web normal). Asegúrate de usar este software de forma segura.
Este proyecto está licenciado bajo la GPL-3.0 Licencia.