ThinkPHP V5.0.5漏洞_ThinkPHP漏洞分析与利用

article/2025/8/2 7:55:52

v2-d2e73ff8129c76b1537eb1e3bb073625_1440w.jpg?source=172ae18b

一、组件介绍

1.1 基本信息

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,遵循Apache 2开源协议发布,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP 5.0以上版本,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展。

1.2 版本介绍

ThinkPHP发展至今,核心版本主要有以下几个系列,ThinkPHP 2系列、ThinkPHP 3系列、ThinkPHP 5系列、ThinkPHP 6系列,各个系列之间在代码实现及功能方面,有较大区别。其中ThinkPHP 2以及ThinkPHP 3系列已经停止维护,ThinkPHP 5系列现使用最多,而ThinkPHP 3系列也积累了较多的历史用户。版本细分如下图所示:

v2-d8f7b313a661882cbe630464ca25f923_b.jpg

二、高危漏洞介绍

通过对ThinkPHP漏洞的收集和整理,过滤出其中的高危漏洞,可以得出如下列表:

v2-ddf198b8e8b633ff82e513daa5564df9_b.jpg

从上表数据来看,ThinkPHP 3系列版本的漏洞多是2016/2017年被爆出,而ThinkPHP 5系列版本的漏洞基本为2017/2018年被爆出,从2020年开始,ThinkPHP 6系列的漏洞也开始被挖掘。

从中可以看出,ThinkPHP近年出现的高风险漏洞主要存在于框架中的函数,这些漏洞均需要在二次开发的过程中使用了这些风险函数方可利用,所以这些漏洞更应该被称为框架中的风险函数,且这些风险点大部分可导致SQL注入漏洞,所以,开发者在利用ThinkPHP进行Web开发的过程中,一定需要关注这些框架的历史风险点,尽量规避这些函数或者版本,则可保证web应用的安全性。

三、漏洞利用链

3.1、暴露面梳理

根据ThinkPHP的历史高危漏洞,梳理出分版本的攻击风险点,开发人员可根据以下图标,来规避ThinkPHP的风险版本,如下ThinkPHP暴露面脑图。

v2-239aab9195377cd713a39119f6775768_b.jpg

3.2、利用链总结

基于暴露面脑图,我们可以得出几种可以直接利用的ThinkPHP框架漏洞利用链,不需要进行二次开发。

3.2.1、ThinkPHP 2.x/3.0 GetShell

v2-e30517808d9dd82b923f7d5657ce4688_b.jpg

ThinkPHP低于3.0 - GetShell

  • ThinkPHP 低版本可以使用以上漏洞执行任意系统命令,获取服务器权限。

3.2.2、ThinkPHP 5.0 GetShell

v2-52ba7fe85b0201a071569fb263f34426_b.jpg

ThinkPHP 5.0.x - GetShell

  • 首先明确ThinkPHP框架系列版本。
  • 根据ThinkPHP版本,如是5.0.x版本,即可使用ThinkPHP 5.x远程代码执行漏洞,无需登录,即可执行任意命令,获取服务器最高权限。

3.2.3、ThinkPHP 5.1 GetShell

v2-c68cdd62df0376c8f8f476675fca19db_b.jpg

ThinkPHP 5.1.x - GetShell

  • 1. 首先明确ThinkPHP框架系列版本。
  • 2. 根据Th

http://chatgpt.dhexx.cn/article/9JtmYBoo.shtml

相关文章

php安全漏洞怎么修复,thinkphp漏洞如何修复

THINKPHP漏洞修复,官方于近日,对现有的thinkphp5.0到5.1所有版本进行了升级,以及补丁更新,这次更新主要是进行了一些漏洞修复,最严重的就是之前存在的SQL注入漏洞,以及远程代码执行查询系统的漏洞都进行了修复,官方本以为没有问题了,但是在实际的安全检测当中发现,还是…

TPScan一键ThinkPHP漏洞检测工具使用

TPScan一键ThinkPHP漏洞检测工具​thinkphp_gui_tools下载地址:关注Johnson666安全公众号,只要发送thinkphp就可以获取下载地址 1.简要描述 这个工具写完有一段时间了,看网上目前还没有一个thinkphp的漏洞集成检测工具,所以打算…

thinkphp5.0漏洞修复

thinkphp5.0漏洞修复 5.0版本 文件位置 /thinkphp/library/think/App.php if (!preg_match(/^[A-Za-z][\w\.]*$/, $controller)) {throw new HttpException(404, controller not exists: . $controller); }漏洞描述 由于ThinkPHP5.0框架对Request类的method处理存在缺陷&a…

ThinkPHP一键检测ThinkPHP漏洞,漏洞检测工具

功能简介:本工具一键检测网上流行的ThinkPHP漏洞,如存在漏洞请尽快修复。漏洞可造成shell提权,直接用中国菜刀就可以连接,修改服务器文件!危害极大!最好是禁用eval等危险函数! 下载地址:https://pan.edait.cn/s/VfuaQj2li2

Thinkphp漏洞

➢ Thinkphp介绍 ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,支持 windows/Unix/Linux等服务器环境。 ➢ Thinkphp应用 很多cms就是基于thinkphp二次开发的,所以thinkphp出问题的话,会影响很多基于thinkphp开发的网站。 ➢历…

Thinkphp历史漏洞复现

Thinkphp简介 Thinkphp 是一种开源框架。是一个由国人开发的支持 windows/Unix/Linux 等服务器环境的轻量级PHP开发框架。 很多cms(内容管理系统)就是基于 thinkphp 二次开发的,所以 thinkphp 出问题的话,会影响很多基于 thinkphp 开发的网站。 Thinkp…

vulhub-thinkphp漏洞复现

vulhub-thinkphp漏洞复现 https://silentx.gitee.io/2022/09/06/thinkphp/ 一.ThinkPHP 2.x 任意代码执行漏洞 1.概述 漏洞成因:ThinkPHP 2.x版本中,使用preg_replace的 /e 模式匹配路由: $res preg_replace((\w).$depr.([^.$depr.\/])e,…

[Vulhub] ThinkPHP漏洞合集

文章目录 ThinkPHP 2.x 任意代码执行漏洞0x00 漏洞描述0x01 影响版本0x02 靶场环境0x03 漏洞分析0x04 漏洞复现0x05 getshell Thinkphp5 5.0.22 / 5.1.29远程执行代码漏洞0x00 漏洞描述0x01 影响版本0x02 靶场环境0x03 漏洞分析0x04 漏洞复现0x05 getshell ThinkPHP5 5.0.23远程…

thinkphp框架漏洞复现

环境搭建请参考vulhub官网,https://vulhub.org 目录 一、2-rce漏洞 二、5.0.23-rce漏洞 三、5-RCE 一、2-rce漏洞 ThinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由: $res preg_replace((\w).$depr.([^.$depr.\/])e, $var[\\\1\]…

MSF复现Thinkphp漏洞

简介 ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外…

ThinkPHP漏洞总结复现

ThinkPHP漏洞总结 简介版本Thinkphp 2.x 任意代码执行漏洞漏洞原理复现过程修复意见 Thinkphp5-5.0.22/5.1.29远程执行代码漏洞漏洞原理影响范围复现过程修复意见 Thinkphp5.0.23远程代码执行漏洞漏洞原理影响范围复现过程修复意见 Thinkphp5 SQL注入漏洞和敏感信息泄露漏洞漏洞…

ThinkPHP 漏洞利用工具

在Github上搜寻好用的安全工具,来充实武器库,实属一大乐趣所在。 当看到ThinkPHP十年磨一剑的提示,那么今天这里分享的工具就可以派上用场了,一键检测ThinkPHP全版本漏洞。 01、TPscan 一键ThinkPHP漏洞检测,基于Python3,命令行检测,集成了14个常见的ThinkPHP框架漏洞检…

ThinkPHP历史漏洞

文章目录 ThinkPHP简介Thinkphp历史漏洞Thinkphp 2.x 任意代码执行漏洞漏洞描述影响版本漏洞复现 Thinkphp5.0.23远程代码执行漏洞(CVE-2018-20062)漏洞描述影响版本漏洞复现 ThinkPHP 5.0.x 未开启强制路由导致的RCE 漏洞分析(CNVD-2018-24942)漏洞描述影响版本漏洞复现 Think…

thinkphp漏洞总结

目录 前言 一、远程代码执行漏洞 1.1 影响范围 1.2 漏洞详情 二、5.x远程命令注入 三、5.1.x SQL注入 前言 thinkphp是一个国内轻量级的开发框架,采用phpapache,在更新迭代中,thinkphp也经常爆出各种漏洞,thinkphp一般有th…

Thinkphp漏洞详解合集

文章目录 Thinkphp6.0.12LTS反序列化漏洞环境漏洞分析 thinkphp lang命令执行环境影响版本漏洞分析漏洞复现 CNVD-2018-24942(t5RCE)环境影响版本漏洞分析漏洞复现 Thinkphp3.2.x命令执行环境漏洞分析漏洞复现 thinkphp-2x-rce漏洞环境影响版本漏洞分析 Thinkphp5.0.23变量覆盖…

thinkphp漏洞复现

所有文章,仅供安全研究与学习之用,后果自负! thinkphp漏洞 前言一、thinkphp-2x-rce 代码执行0x01 漏洞描述0x02 影响版本0x03 漏洞利用0x04 漏洞修复 二、thinkphp 代码执行 (CNVD-2018-24942)0x01 漏洞描述0x02 影响范围0x03 漏洞利用这就完成了&#…

【shell】shell脚本实战-while循环语句

前言 上文我们讨论了for循环的使用,在有限循环里,我们使用for循环是很方便的一件事情,今天我们来探讨下while循环 while循环语句的语法分析 语法格式一: while [条件] do操作 done语法格式二: while read line do操作…

linux中shell的循环

循环主要分为3种 1.for循环 for循环的基本语法结构是三步走 for ##条件do ##要做什么 done ##结束 借几个脚本来理解一下…

【Linux】shell编程之循环语句

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、循环语句二、for循环语句1.for 语句的结构2.for语句应用示例 三、while 循环语句1.while 循环语句结构2.while语句应用示例 四、until 循环五、跳出循环六、死循…

shell-循环

接上一篇shell运算符接着往下说,shell循环: shell循环有三种,一种是for循环,一种是while循环,还有一种是until循环,循环体中和java类似,可以使用break调出当前循环,continue继续下一…