
Demo webapp vulnerabile a CVE-2022-44900
Webapp dimostrativa vulnerabile a CVE-2022-44900.
CVE-2022-44900 è una vulnerabilità di directory traversal nella funzione SevenZipFile.extractall() della libreria Python py7zr versione 0.20.0 e precedenti che consente a un attaccante di leggere e scrivere file arbitrari sulla macchina locale tramite l'estrazione di un archivio 7z malintenzionato.
Per sfruttare la vulnerabilità CVE-2022-44900, un attaccante deve creare un archivio 7z malevolo contenente un symlink per ottenere una lettura arbitraria di file e un file con un nome contenente un payload di path traversal per ottenere una scrittura arbitraria di file.
Maggiori dettagli su: https://lessonsec.com/cve/cve-2022-44900/
Usa slip per generare archivi malevoli: https://github.com/0xless/slip
Per eseguire la webapp vulnerabile puoi creare un container Docker o eseguire solo il server.
Nel caso tu decida di eseguire solo il server, devi eseguire:
pip3 install py7zr==0.20.0
Per installare la versione vulnerabile di py7zr.
Quindi esegui semplicemente l'applicazione con:
python3 slipper.py
E la webapp sarà disponibile su localhost:9999.
Per creare il contenitore, usa il dockerfile per creare l'immagine slipper.
Quindi crea un contenitore con rete host esponendo la porta 9999. Proprio come l'altro metodo di installazione, questo ti permetterà di raggiungere la webapp su localhost:9999.
Il sito apparirà così:

Ora puoi estrarre file e tentare di sfruttare questo laboratorio.
La webapp non è pensata per essere aperta al pubblico; è probabilmente vulnerabile ad altre vulnerabilità e non gestisce correttamente ogni errore (come ci si aspetterebbe da un sito web normale). Assicurati di utilizzare questo software in modo sicuro.
Questo progetto è concesso in licenza GPL-3.0 Licenza.