如何进行thinkphp6 任意文件创建漏洞复现
发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,本篇文章给大家分享的是有关如何进行thinkphp6 任意文件创建漏洞复现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。01 背景近日奇
千家信息网最后更新 2025年01月26日如何进行thinkphp6 任意文件创建漏洞复现
本篇文章给大家分享的是有关如何进行thinkphp6 任意文件创建漏洞复现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
01 背景
近日奇安信发布了 ThinkPHP 6.0 "任意"文件创建漏洞安全风险通告,对此,DYSRC第一时间对该漏洞进行了分析,并成功复现该漏洞。
漏洞影响范围:top-think/framework 6.x < 6.0.2
02 定位问题
根据任意文件创建以及结合近期的commit历史,可以推测出 1bbe75019 为此次问题的补丁。可以看到在补丁中限制了sessionid只能由字母和数字组成,由此看来问题更加明显。
03 原理分析
先抛开上面的问题,我们看一下thinkphp是如何存储session的。
系统定义了接口thinkcontractSessionHandlerInterface
SessionHandlerInterface::write方法在本地化会话数据的时候执行,系统会在每次请求结束的时候自动执行。
再看看thinksessiondriverFile类是怎么实现的。
先通过getFileName根据$sessID生成文件名,再writeFile写入文件。
跟进getFileName,直接将传入的$sessID拼接后作为文件名。由于$sessID可控,所以文件名可控。
04 演示
分析到这里,整个漏洞流程基本上已经很清晰了。下面给出本地的演示结果。
以上就是如何进行thinkphp6 任意文件创建漏洞复现,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
文件
漏洞
问题
文件名
分析
时候
更多
知识
篇文章
系统
补丁
演示
实用
明显
安全
成功
历史
原理
字母
对此
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
bep1网络技术挑战赛
请说明DSP软件开发流程
快递公司管理数据库设计
在线管理软件开发
视频推荐算法数据库
蓝鸽集团软件开发
华为atae服务器单板失联告警
新乡市合一网络技术
云服务器api使用教程
数据库计算图形界面
中国艺术数据库王临潼
软件开发项目评分
数据库怎么倒库
网络安全研判分析报告
微信数据库调用存储
泉州宇嘉通汇网络技术有限公司
分销商城app软件开发
日本语听力软件开发
因特网的根服务器安全吗
小型数据库搭建软件
腾讯云服务器怎么登录实例
广东私有云空间解决方案云服务器
网络安全 幼儿 宣传
服务器冗余电源接口
长寿区技术软件开发服务代理商
软件开发上班时间长吗
陈峰软件开发
软件开发合同纠纷解决方案
服务器好好的提示磁盘满
多米乐软件开发有限公司