如何进行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 任意文件创建漏洞复现,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


当前名称:如何进行thinkphp6任意文件创建漏洞复现
链接分享:http://bzwzjz.com/article/gghipe.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: H5网站制作 成都网站建设 网站设计 重庆网站设计 网站设计公司 成都网站设计 响应式网站建设 成都网站制作 网站设计 专业网站设计 成都网站建设 移动手机网站制作 网站建设 网站建设费用 网站设计 手机网站建设 营销网站建设 响应式网站设计 成都网站建设 做网站设计 重庆企业网站建设 营销型网站建设