ThinkPHP6中哪些文件操作存在安全风险?

2026-05-08 02:500阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计588个文字,预计阅读时间需要3分钟。

ThinkPHP6中哪些文件操作存在安全风险?

以下为图片内容简要图示为一张电子设备屏幕截图,显示了一些文字信息,但具体内容无法解读。请注意,本回答未使用图片,也未涉及数字和超字数限制。

漏洞分析

根据官方github的commit:

https://github.com/topthink/framework/commit/1bbe75019ce6c8e0101a6ef73706217e406439f2

因而推测,可能是在存储session时导致的文件写入。然后,跟踪:vendor/topthink/framework/src/think/session/Store.php:254

这里调用了一个write函数,跟进一下:vendor/topthink/framework/src/think/session/driver/File.php:210。

调用writeFile函数,跟入:

果然是写入文件的操作。

继续反向看一下文件名是否可控,该文件名来自于最开始的getId()得到的$sessionId的值。既然有getId,就会有setId,看一下函数内容:

当传入的参数$id满足32位的长度时,就将该值设为$this->id。

阅读全文
标签:Thinkphp6

本文共计588个文字,预计阅读时间需要3分钟。

ThinkPHP6中哪些文件操作存在安全风险?

以下为图片内容简要图示为一张电子设备屏幕截图,显示了一些文字信息,但具体内容无法解读。请注意,本回答未使用图片,也未涉及数字和超字数限制。

漏洞分析

根据官方github的commit:

https://github.com/topthink/framework/commit/1bbe75019ce6c8e0101a6ef73706217e406439f2

因而推测,可能是在存储session时导致的文件写入。然后,跟踪:vendor/topthink/framework/src/think/session/Store.php:254

这里调用了一个write函数,跟进一下:vendor/topthink/framework/src/think/session/driver/File.php:210。

调用writeFile函数,跟入:

果然是写入文件的操作。

继续反向看一下文件名是否可控,该文件名来自于最开始的getId()得到的$sessionId的值。既然有getId,就会有setId,看一下函数内容:

当传入的参数$id满足32位的长度时,就将该值设为$this->id。

阅读全文
标签:Thinkphp6