
Demo webapp vulnerable to CVE-2022-44900
Demo-Webanwendung anfällig für CVE-2022-44900.
CVE-2022-44900 ist eine Directory-Traversal-Schwachstelle in der Funktion SevenZipFile.extractall() der Python-Bibliothek py7zr Version 0.20.0 und früher, die es Angreifern ermöglicht, beliebige Dateien auf dem lokalen Rechner über die Extraktion schädlicher 7z-Archive zu lesen und zu schreiben.
Um die Schwachstelle CVE-2022-44900 auszunutzen, muss ein Angreifer ein schädliches 7z-Archiv erstellen, das einen Symlink für das Lesen beliebiger Dateien und eine Datei mit einem Path-Traversal-Payload als Namen für das Schreiben beliebiger Dateien enthält.
Weitere Details unter: https://lessonsec.com/cve/cve-2022-44900/
Verwenden Sie slip, um schädliche Archive zu generieren: https://github.com/0xless/slip
Um die anfällige Webanwendung auszuführen, können Sie entweder einen Docker-Container erstellen oder nur den Server ausführen.
Falls Sie sich entscheiden, nur den Server auszuführen, müssen Sie Folgendes ausführen:
pip3 install py7zr==0.20.0
Um die anfällige Version von py7zr zu installieren.
Dann führen Sie einfach die Anwendung aus mit:
python3 slipper.py
Und die Webanwendung wird unter localhost:9999 erreichbar sein.
Um den Container zu erstellen, verwenden Sie die Dockerfile, um das slipper-Image zu erstellen.
Erstellen Sie dann einen Container mit host-Netzwerk und legen Sie Port 9999 offen. Genau wie bei der anderen Installationsmethode können Sie so die Webanwendung unter localhost:9999 erreichen.
Die Website wird wie folgt aussehen:

Jetzt können Sie Dateien extrahieren und versuchen, dieses Labor auszunutzen.
Die Webanwendung ist nicht für die Öffentlichkeit bestimmt, sie ist wahrscheinlich auch für andere Schwachstellen anfällig und behandelt nicht jeden Fehler korrekt (wie man es von einer normalen Website erwarten würde). Stellen Sie sicher, dass Sie diese Software sicher verwenden.
Dieses Projekt ist unter der GPL-3.0 Lizenz lizenziert.