漏洞总结:Sonic Server 文件上传路径遍历漏洞 (#2) 漏洞概述 漏洞类型:路径遍历 (Path Traversal) 受影响项目:Sonic Server (sonic-server) 受影响版本:2.0.0 漏洞描述:Sonic Server 的文件上传功能( 和 )存在路径遍历漏洞。应用程序未对 参数进行验证,攻击者可利用 或 序列将文件写入服务器文件系统的任意目录。 技术逻辑:代码直接拼接用户控制的 参数到文件路径中,未进行任何清理或验证。 影响范围 机密性 (Confidentiality):通过返回的文件路径泄露内部目录结构。 完整性 (Integrity):攻击者可将文件写入任意位置,可能覆盖现有文件、放置 Webshell 或修改配置文件。 可用性 (Availability):攻击者可通过在意外目录填充磁盘空间导致拒绝服务。 CVSS 评分:9.1 (Critical) 受影响端点: ( ) ( ) 修复方案 1. 白名单验证 (Allowlist Validation):仅接受允许的文件夹名称(如 , 等)。 2. 规范路径验证 (Canonical Path Validation):验证解析后的路径是否仍在预期的基础目录内。 3. 路径规范化 (Path Normalization):在验证前对路径进行规范化处理。 概念验证 (POC) 代码 1. 上传到任意系统目录 结果:文件创建在 而非预期的上传文件夹。 2. 上传到 Web 可访问目录以放置 Webshell 结果:创建目录 并写入文件,可能创建可通过 HTTP 访问的 Webshell。 3. 修复代码示例 (Java) 白名单验证 规范路径验证 路径规范化**