
Dieses Repository enthält ein Python-Skript, das entwickelt wurde, um CVE-2024-50379 auszunutzen, eine Schwachstelle, die es Angreifern ermöglicht, eine JSP-Shell auf einen verwundbaren Server hochzuladen und beliebige Befehle remote auszuführen. Dieser Exploit ist besonders nützlich, wenn das /uploads-Verzeichnis entweder ungeschützt ist oder auf dem Zielserver nicht vorhanden ist.
Dieses Repository enthält ein Python-Skript zur Ausnutzung von CVE-2024-50379, einer Sicherheitslücke, die es Angreifern ermöglicht, eine JSP-Shell auf einen verwundbaren Server hochzuladen und beliebige Befehle remote auszuführen. Dieser Exploit ist besonders nützlich, wenn das /uploads-Verzeichnis auf dem Zielserver entweder ungeschützt oder nicht vorhanden ist.
CVE-2024-50379 betrifft Server, die Datei-Uploads fehlerhaft behandeln, sodass ein Angreifer eine JSP-Shell hochladen kann. Diese Shell kann dann verwendet werden, um beliebige Befehle remote auszuführen. Das bereitgestellte Python-Skript automatisiert diesen Vorgang, indem es die Shell auf einen verwundbaren Server hochlädt und die Interaktion mit dem Server über eine Befehlszeilenschnittstelle ermöglicht.
Stellen Sie vor dem Ausführen des Skripts sicher, dass Folgendes installiert ist:
Python 3.6+ (empfohlen)
Die Bibliothek requests. Installieren Sie sie mit pip:
pip install requests
Der Exploit zielt auf Systeme ab, die Apache Tomcat oder ähnliche Server ausführen, die ihre Datei-Upload-Funktionalität nicht ausreichend schützen oder falsch konfigurierte /uploads-Verzeichnisse aufweisen.
Wichtig: Dieses Tool sollte nur in kontrollierten Umgebungen wie Penetrationstests mit Genehmigung oder zu Bildungszwecken verwendet werden. Die unbefugte Nutzung dieses Tools kann illegal und unethisch sein.
http:// voran./uploads-Verzeichnis: Wenn das /uploads-Verzeichnis nicht gefunden wird, setzt das Tool den Upload-Versuch der Shell fort.Klonen Sie das Repository auf Ihren lokalen Rechner:
git clone https://github.com/dragonked2/CVE-2024-50379-POC.git
cd CVE-2024-50379-POC
Stellen Sie sicher, dass die erforderlichen Python-Bibliotheken installiert sind:
pip install requests
Führen Sie das Skript mit folgendem Befehl aus:
python exploit_cve_2024_50379.py
Das Skript fordert Sie auf, die Basis-URL des verwundbaren Servers einzugeben (z. B. http://localhost:8080). Wenn die URL kein http:// oder https:// enthält, wird automatisch http:// hinzugefügt.
Sobald die JSP-Shell erfolgreich hochgeladen wurde, können Sie interaktiv Befehle eingeben, die auf dem Server ausgeführt werden. Das Skript zeigt die Ausgabe an.
Beispiel einer Interaktion:
[+] Enter the base URL (e.g., localhost:8080): http://127.0.0.1:8080
[+] Checking server accessibility...
[+] /uploads directory not found (404), but continuing with upload attempt...
[+] Attempting to upload shell (Attempt 1/3)...
[+] Shell uploaded successfully! Check the URL: http://127.0.0.1:8080/uploads/shell.jsp
[+] Enter the command to execute on the server (or 'exit' to quit): whoami
[+] Executing command: whoami
[+] Command output:
root
Geben Sie exit ein, um das Tool nach Abschluss Ihrer Interaktionen zu beenden.
Das Tool enthält eine robuste Fehlerbehandlung für häufige Probleme wie:
Fehlgeschlagene Vorgänge werden automatisch bis zu dreimal mit einer Verzögerung von 2 Sekunden zwischen den Versuchen wiederholt. Wenn ein Vorgang nach Wiederholungen fehlschlägt, wird eine Fehlermeldung angezeigt.
Beiträge sind willkommen! Wenn Sie Fehler finden oder Verbesserungsvorschläge haben, können Sie gerne ein Issue öffnen oder einen Pull-Request einreichen.
Dieses Tool ist nur für Bildungs- und Penetrationstestzwecke bestimmt. Verwenden Sie dieses Tool nicht auf Systemen, die Sie nicht besitzen oder für die Sie keine ausdrückliche Genehmigung zum Testen haben. Die unbefugte Nutzung ist illegal und kann zu strafrechtlichen Konsequenzen führen.
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der LICENSE-Datei.