HTB練習紀錄 — Headless
上回說到 修改 POST 請求嘗試攻擊。這回將詳細紀錄在這過程中,使用過哪些Command
將惡意命令植入post的輸入中,並試圖讓在伺服器上執行惡意指令。
學會看Repeater
左側Request,post傳遞資料的內容為date=2023-09-15;
右側Response,回傳的資料內容為Systems are up and running!
測試觸發條件
date=2023-09-15; ls
可得知date=2023-09-15;
與 ls
之間可以隔空格
cat
可得知cat
指令也能執行
可使用pipe
無法使用sudo提權
sudo -l
: 確認sudo權限
透過sudo -l
可以得知sudo權限
以下為ChatGPT對於(ALL) NOPASSWD: /usr/bin/syscheck
的說明
ChatGPT
由此可知Task8的答案
cat /usr/bin/syscheck
: 確認 syscheck 可執行的命令
重點在於以下這段程式碼
if ! /usr/bin/pgrep -x "initdb.sh" &>/dev/null; then
/usr/bin/echo "Database service is not running. Starting it..."
./initdb.sh 2>/dev/null
else
/usr/bin/echo "Database service is running."
fi
ChatGPT
可以得知initdb.sh會被強制運行,後續或許可以嘗試對initdb.sh進行攻擊