
Exploit Proof of Concept per l'iniezione EL in PrimeFaces 5.x (CVE-2017-1000486)
Exploit Proof of Concept per l'iniezione EL in PrimeFaces 5.x (CVE-2017-1000486), una vulnerabilità RCE che può essere utilizzata per ottenere Remote Code Execution su un target.
Puoi trovare un'ottima descrizione della vulnerabilità sul blog di Minded Security.
L'exploit fornisce una funzione di aiuto che stampa tutti i parametri importanti
./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)
L'exploit fornisce una semplice modalità di test (parametro -t) che può essere utilizzata per verificare se un target è effettivamente vulnerabile. Ciò avviene inviando al target la seguente EL-Expression, che aggiungerà un campo header aggiuntivo alla risposta HTTP. L'exploit verifica quindi la presenza dell'header:
${facesContext.getExternalContext().setResponseHeader("MOGWAILABS","CHKCHK")}
Lo sfruttamento effettivo funziona invocando l'interprete JavaScript incluso nella Java VM. Questo consente di eseguire codice Java arbitrario da JavaScript.
L'exploit fornisce due payload di esempio:
Si noti che nessuno di questi esempi fornirà l'output del comando.