关键信息 受影响版本 厂商: https://github.com/easysoft/zentaopms 版本: 21.5_20250307 漏洞描述 ZenTao 编辑器组件中存在路径遍历漏洞,允许攻击者通过 PHP 包装器协议读取系统上的任意文件。该漏洞存在于编辑器控制器的 方法中,由于对文件路径的验证不当,攻击者可以利用 包装器绕过安全检查。 漏洞细节 受影响的代码在编辑器控制器中尝试通过检查文件路径是否在应用程序的基本路径内来验证文件路径: 漏洞存在的原因: 1. 参数使用 进行 base64 解码。 2. 对文件路径的验证不充分,允许攻击者绕过安全检查。 利用方式 攻击者可以通过向编辑器控制器发送带有 base64 编码文件路径的请求来利用此漏洞,该文件路径使用 包装器协议: 在这个例子中, 是 的 base64 编码形式,允许攻击者读取敏感系统文件。 此漏洞可能允许攻击者: 1. 读取敏感系统文件(如 )。 2. 访问包含凭据的应用程序配置文件。 3. 获取受限制文件的源代码。 4. 通过高级利用技术使用 PHAR 反序列化潜在地实现远程代码执行。 修复措施 为修复此漏洞,应实施正确的文件路径验证: 1. 禁用文件路径中的 PHP 包装器协议。 2. 实施允许的文件扩展名和目录的白名单。 3. 使用不支持包装器协议的安全文件读取方法。 4. 在处理文件路径之前实施正确的输入验证。