ThinkPHP6.0任意文件如何创建Getshell复现
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这期内容当中小编将会给大家带来有关ThinkPHP6.0任意文件如何创建Getshell复现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0x01 简介ThinkP
千家信息网最后更新 2025年02月06日ThinkPHP6.0任意文件如何创建Getshell复现0x01 简介 ThinkPHP框架是MVC结构的开源PHP框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。该漏洞源于ThinkPHP 6.0的某个逻辑漏洞,成功利用此漏洞的攻击者可以实现"任意"文件创建,在特殊场景下可能会导致GetShell。 0x02 漏洞概述
1、安装Composer 下载Composer-Setup.exe
执行安装文件,选择php.exe位置,即可安装成功
composer拉取环境有时候可能会卡住,可以换国内镜像
首先在得到可控session参数名,这是本地构造的,实战需要自己fuzz。
构造位置:tp60\app\controller\Index.php
开启session且写入的session可控 /tp6/app/middleware.php 文件开启session 去掉注释session的//
构造请求: username就是我们刚才构造的接受参数,然后将PHPSESSID的值修改为32位的保存路径
我们通过poc打了之后,就可以访问一下public下的文件
这期内容当中小编将会给大家带来有关ThinkPHP6.0任意文件如何创建Getshell复现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
2020年1月10日,ThinkPHP团队发布一个补丁更新,修复了一处由不安全的SessionId导致的任意文件操作漏洞。该漏洞允许攻击者在目标环境启用session的条件下创建任意文件以及删除任意文件,在特定情况下还可以getshell。
0x03 影响版本
ThinkPHP 6.0.0-6.0.1
0x04 环境搭建
https://getcomposer.org/download/
composer config -g repo.packagist composer https://packagist.phpcomposer.com
2、安装thinkphp
composer create-project topthink/think tp6 (tp6自定义)
出现报错可参考:
http://www.jrnw.net/index.php/2019/05/30/thinkphp6%E6%A1%86%E6%9E%B6%E6%BA%90%E7%A0%81%E7%9A%84%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B/
3、版本选择
将 tp6/composer.json 文件的 "topthink/framework": "^6.0.0" 改成 6.0.0 版本,并执行更新命令
进入tp6目录cd tp6composer update
PS:
如果是linux 就再执行启动环境 :./think run --host=0.0.0.0 --port=8000
如果不能拉取到环境,公众号内回复"tp60环境"获取
0x05 漏洞利用
构造位置:tp60\app\controller\Index.php
需要增加构造的内容:
use think\facade\Session;Session::set('user',$_GET['username']);
0x06 坑点
1、本地测试localhost失败
问题:
当我们用localhost去测试poc的时候,请求中自带cookie,即使修改也没用
解决:
通过IP去测试,127.0.0.1 或者内网IP
2、shell选择
问题:
在最新版的phpstudy测试菜刀马失败
解决:
冰蝎的shell可以用。
0x07 修复方式
官方给出方案
对session id 加一个过滤,使用ctype_alnum()
$this->id = is_string($id) && strlen($id) === 32 ctype_alnum($id) && ? $id : md5(microtime(true) . session_create_id());
上述就是小编为大家分享的ThinkPHP6.0任意文件如何创建Getshell复现了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
文件
漏洞
环境
测试
内容
版本
选择
成功
位置
参数
就是
应用开发
攻击者
框架
问题
分析
应用
开发
攻击
更新
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
labview发送数据到服务器
it公司为中石油做软件开发
负载均衡服务器英文
流程引擎软件开发技术
男子用境外服务器晒毒挑衅警方
求生之路2国外服务器
五一节网络安全检查
教体局网络安全责任落实
网络安全泰山队
数据库提高安全性
vps服务器连接不上
acess数据库字段汉字
wamp服务器离线
网络技术基础网课答案
物理差女生能学网络技术吗
dr服务器
嵌入式数据库的优缺点
重科网络技术有限公司
网吧玩坦克世界服务器掉线
数据库部署案例存储
鹰潭正规服务器哪家可靠
level3是哪个服务器
数据库服务器uc1故障什么解决
控制软件开发工程师岗位职责
科技互联网的崛起
bccd数据库
服务器网络安全保护
ubuntu 云服务器
桓台服装管理软件开发
上海电商软件开发定制费用