HackTheBox - Interstellar
前情提要
在build docker中需要改一些東西
1 | |
Recon
Dockerfile- 開80 for website
- 執行entrypoint.sh
- 有init.sql
- 使用smarty這個PHP template engine → 可能有SSTI
- 使用PHP 7.0,很舊,可能有RCE漏洞
- flag放在root並且rename by random
init.sql- 在
SET @sql = CONCAT('SELECT * FROM users WHERE name = \'', name, '\'');可能有SQLi漏洞,使用字串拼接 - 開了4個不同的procedure(
searchUser/registerUser/loginUser/editName)
- 在
entrypoint.sh- 啟動mysql
- 把root改成用密碼登入
- 建立interstellar這個db
- root 沒有密碼,任何拿到 container 的人 = DB 全控
- Web app 用 root 操作 DB
- 權限過大:
GRANT ALL PRIVILEGES ON interstellar.* TO 'root'@'127.0.0.1';
communicate.php: 給URL/Key/Value,他會送出去request,並且把reponse回傳 → SSRF的洞index.php: 有一個edit action,是只允許localhost request
沒有SQLi
在login.php中看到代表他有做parameterized query,所以用這個角度打沒用
1 | |