Vulnhub|Thinkphp-5.0.23RCE引申的反弹shell
0x01环境搭建
使用docker
因为前期没有安装docker-compose
所以先装一下
1 | #1)下载docker-compose |
去github下载TP5.0.23rce环境
把docker-compose.yml文件放在一个空目录里边
然后执行docker-compose up -d
搭建完成
0x02漏洞利用
构造数据包发送
显示404
没关系,我们双击打开
命令已经执行
ok,存在漏洞
为方便测试,转到bp
列出了当前目录文件
那弹shell呢?
想到就做,服务器开监听
bp发包
Go!
查看服务器并未得到shell
这个原因有很多,可能环境没有bash命令,或者当前tp用户没有权限等等
没关系,这个等下再看
先得到webshell再说
先随便测一下能不能写
ok,没问题
直接上
网站管理工具连接
0x03反弹shell
虽然webshell也可以执行命令,管理文件
但毕竟不是真正的shell,无法执行交互式命令、无法控制进程状态、无法补全命令等等
鉴于以上,必须反弹shell。
打开终端,服务器监听443,目标机执行命令:
等了一会,服务器还是没有回连信息。但在目标机上确认 bash 命令的确存在:
此时迫切的心情让我决定换一个思路
反弹shell的方法有很多,python、nc,甚至curl等等
既然拥有写入权限,并且web目录可以访问
那么可以构造一个php文件执行命令反弹shell
我们开始
1.php文件
服务器监听443
目标机创建文件键入以下内容:
web访问
服务器得到shell
2.curl
服务器监听443
服务器创建shell.txt(注:若为php则反弹不成功)
目标机执行:
服务器得到shell
3.nc
目标机没有nc
FAQ:
启动docker-compose报错:Couldn’t connect to Docker daemon at http+docker://localhost - is it running?
1.切换为root用户执行命令。sudo docker-compose up -d
2.将当前用户加入到docker组。 sudo gpasswd -a ${USER} docker 然后切换成root用户,再切换为当前用户,再次执行docker-compose up -d
拉取镜像出错?
出现这个问题原因为国内网络问题,无法连接到 docker hub。 以下为创建配置文件./etc/docker/daemon.json指定国内源
Docker 官方中国区
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
中国科技大学
https://docker.mirrors.ustc.edu.cn
阿里云
https://pee6w651.mirror.aliyuncs.com
更改完配置文件要重启docker
systemctl restart docker