漏洞概述 漏洞名称: CVE-2022-37700 漏洞类型: 目录遍历(Directory Traversal) 受影响软件: ZenTao Easy soft ALM v16.5 漏洞描述: 该漏洞允许攻击者读取服务器上的任意文件,包括应用程序资产、后端系统凭证和敏感操作系统文件。在某些情况下,攻击者可以篡改服务器上的任意文件,从而获得对运行应用程序的服务器的完全控制权。 影响范围 受影响版本: ZenTao Easy soft ALM v16.5 漏洞利用: 通过目录遍历漏洞,攻击者可以读取敏感配置文件,例如 。 修复方案 1. 严格验证用户输入: 在将用户提供的动态输入传递给任何文件系统操作之前,应严格验证。验证后,应用程序可以使用合适的文件系统 API 来验证文件是否位于应用程序使用的基目录内。 2. 阻止包含点-点-斜杠序列的输入: 阻止包含 序列的输入。 3. 将文件存储在单独的逻辑卷上: 使用用户提供的动态输入访问的文件应存储在与其他敏感应用程序和操作系统文件分开的单独逻辑卷上,以防止通过路径遍历攻击访问。 4. 使用多层防御: 如果无法避免将用户提供的数据传递给输入文件系统 API,则应使用两层防御: - 第一步: 应用程序应在处理前验证用户输入,通过比较允许的白名单值。如果不可能,则应基于“字母数字字符”进行验证。 - 第二步: 验证后,应用程序应将输入附加到基目录,并使用平台文件系统 API 规范化路径。 5. 避免在 Web 根目录中存储敏感数据: 开发人员应避免在应用程序的 Web 根目录中存储敏感数据。 6. 运行最新版本的 Web 服务器: 建议运行最新版本的 Web 服务器,因为它们通常具有良好的目录安全性。如果可能,确保运行的是最新版本(与当前补丁同步)。 POC 代码 参考链接 PortSwigger - Web Security: File Path Traversal Acunetix - Directory Traversal PortSwigger - Patched WordPress Plugin Still Susceptible to Attacks PortSwigger - Vulnerability Found in Oracle Terminals OWASP - Directory Traversal File Include 总结 该漏洞允许攻击者通过目录遍历读取服务器上的任意文件,影响 ZenTao Easy soft ALM v16.5 版本。修复方案包括严格验证用户输入、阻止特定序列的输入、将文件存储在单独的逻辑卷上、使用多层防御、避免在 Web 根目录中存储敏感数据以及运行最新版本的 Web 服务器。