
Exploit de preuve de concept pour l'injection EL dans PrimeFaces 5.x (CVE-2017-1000486)
Exploit de preuve de concept pour l'injection EL PrimeFaces 5.x (CVE-2017-1000486), une vulnérabilité RCE qui peut être utilisée pour obtenir une exécution de code à distance sur une cible.
Vous trouverez une excellente description de la vulnérabilité sur le blog de Minded Security.
L'exploit fournit une fonction d'aide qui affiche tous les paramètres importants
./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 fournit un mode de test simple (paramètre -t) qui peut être utilisé pour vérifier si une cible est réellement vulnérable. Cela fonctionne en envoyant l'expression EL suivante à la cible, ce qui ajoutera un champ d'en-tête supplémentaire à la réponse HTTP. L'en-tête est ensuite vérifié par l'exploit :
${facesContext.getExternalContext().setResponseHeader("MOGWAILABS","CHKCHK")}
L'exploitation réelle fonctionne en invoquant l'interpréteur JavaScript fourni avec la machine virtuelle Java. Cela permet d'exécuter du code Java arbitraire à partir de JavaScript.
L'exploit fournit deux exemples de payloads :
Veuillez noter qu'aucun de ces exemples ne vous fournira la sortie de la commande.