elFinder < 2.1.62 - PHP LocalVolumeDriver 连接器中的路径遍历漏洞
PHP LocalVolumeDriver 连接器中存在路径遍历漏洞。此漏洞可被利用,允许不受信任的用户向本地文件系统写入数据。
该漏洞存在于 target 参数中,该参数包含一个 base64 编码的路径。例如,路径 pentest 被编码为:
1_cGVudGVzdA==
如果忽略 l1_(它看起来是一个常量前缀),其余部分可以解码为:
pentest
因此,我们可以将其修改为:
pentest/../../
然后将其编码为:
l1_cGVudGVzdC8uLi8uLi8=
将 target 参数设置为该值后,我们可以将任意文件写入应用程序的根目录。
此问题是由于对提供的请求参数的有效性检查不完整所致。该问题已在 elFinder 2.1.62 版本中修复。
< 2.1.62
将 elFinder 更新到 2.1.62 或更新版本。