您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 淮安分类信息网,免费分类信息发布

thinkphp6 任意文件创建漏洞复现

2024/5/30 9:59:41发布70次查看
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 演示
分析到这里,整个漏洞流程基本上已经很清晰了。下面给出本地的演示结果。
,大量的免费thinkphp入门教程,欢迎在线学习!
以上就是thinkphp6 任意文件创建漏洞复现的详细内容。
淮安分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录