
Proof-of-Concept-Exploit für PrimeFaces 5.x EL-Injection (CVE-2017-1000486)
Proof-of-Concept-Exploit für PrimeFaces 5.x EL Injection (CVE-2017-1000486), eine RCE-Sicherheitslücke, die verwendet werden kann, um Remote-Code-Ausführung auf einem Ziel zu erreichen.
Eine ausgezeichnete Beschreibung der Sicherheitslücke finden Sie im Minded Security Blog.
Der Exploit bietet eine Hilfefunktion, die alle wichtigen Parameter ausgibt
./primefaces.py --help
PrimeFaces 5.x EL injection exploit (CVE-2017-1000486) by MOGWAI LABS
=====================================================================
usage: primefaces.py [-h] [-t] [-e EXTENSION] url [payload]
PrimeFaces 5.x EL injection exploit
positional arguments:
url The target URL (http/https)
payload File with the JavaScript (Rino/Nashorn) code to
execute or OS command
optional arguments:
-h, --help show this help message and exit
-t, --test Test mode (off by default)
-e EXTENSION, --extension EXTENSION
Extension of the target (xhtml, jsf)
Der Exploit bietet einen einfachen Testmodus (-t Parameter), der verwendet werden kann, um zu überprüfen, ob ein Ziel tatsächlich verwundbar ist. Dies funktioniert, indem der folgende EL-Ausdruck an das Ziel gesendet wird, der dem HTTP-Response ein zusätzliches Header-Feld hinzufügt. Der Header wird dann vom Exploit überprüft:
${facesContext.getExternalContext().setResponseHeader("MOGWAILABS","CHKCHK")}
Die eigentliche Ausnutzung erfolgt durch Aufruf des JavaScript-Interpreters, der mit der Java VM gebündelt ist. Dies ermöglicht die Ausführung beliebigen Java-Codes aus JavaScript.
Der Exploit bietet zwei Beispiel-Payloads:
Bitte beachten Sie, dass keines dieser Beispiele Ihnen die Ausgabe des Befehls liefert.