
Démo d'application web vulnérable à CVE-2022-44900
Application web de démonstration vulnérable à CVE-2022-44900.
CVE-2022-44900 est une vulnérabilité de traversée de répertoire dans la fonction SevenZipFile.extractall() de la bibliothèque Python py7zr version 0.20.0 et antérieures, qui permet aux attaquants de lire et d'écrire des fichiers arbitraires sur la machine locale via l'extraction d'un fichier 7z malveillant.
Pour exploiter la vulnérabilité CVE-2022-44900, un attaquant doit créer une archive 7z malveillante contenant un lien symbolique pour réaliser une lecture de fichier arbitraire et un fichier dont le nom est une charge utile de traversée de chemin pour réaliser une écriture de fichier arbitraire.
Plus de détails sur : https://lessonsec.com/cve/cve-2022-44900/
Utilisez slip pour générer des archives malveillantes : https://github.com/0xless/slip
Pour exécuter l'application web vulnérable, vous pouvez soit créer un conteneur Docker, soit exécuter uniquement le serveur.
Si vous décidez d'exécuter uniquement le serveur, vous devez exécuter :
pip3 install py7zr==0.20.0
Pour installer la version vulnérable de py7zr.
Ensuite, exécutez simplement l'application avec :
python3 slipper.py
Et l'application web sera disponible à l'adresse localhost:9999.
Pour créer le conteneur, utilisez le Dockerfile pour créer l'image slipper.
Créez ensuite un conteneur avec le réseau host et en exposant le port 9999. Comme pour l'autre méthode d'installation, cela vous permettra d'accéder à l'application web à l'adresse localhost:9999.
Le site web ressemblera à ceci :

Vous pouvez maintenant extraire des fichiers et tenter d'exploiter ce laboratoire.
L'application web n'est pas destinée à être ouverte au public, elle est probablement vulnérable à d'autres vulnérabilités et ne gère pas toutes les erreurs correctement (comme on pourrait s'y attendre d'un site web normal).
Assurez-vous d'utiliser ce logiciel en toute sécurité.
Ce projet est sous licence GPL-3.0 Licence.