漏洞总结:O2OA 认证 SSRF 漏洞 漏洞概述 标题:Authenticated SSRF in via unrestricted fileUrl fetching (O2OA <= 10.0) #195 类型:服务端请求伪造 (SSRF) 触发点:文件上传接口 核心原因: 1. 该接口允许已认证用户提交包含 的 JSON 数据。 2. 服务器后端会直接使用该 URL 发起 HTTP 请求下载文件内容。 3. 默认配置下,HTTP 请求的白名单机制失效( 返回空列表),导致攻击者可以构造指向内网地址(如 )的 URL。 4. 下载后的文件被持久化存储,并通过 接口提供下载,从而完成 SSRF 利用。 影响范围 受影响版本:O2OA <= 10.0 前提条件:需要有效的用户认证(Authenticated)。 潜在危害: 探测和读取内网服务(如本地回环地址、内网 Web 应用、数据库端口等)。 读取内网敏感信息。 结合其他漏洞进行内网渗透。 修复方案 1. 限制白名单:将上传 URL 功能限制在严格定义的受信任域名或服务端点白名单中。 2. 禁止通配符:不要使用 作为默认允许所有出站 HTTP 访问。 3. IP 校验:在发起请求前,将目标主机解析为 IP 地址,并拒绝回环地址(loopback)、内网地址、私有地址或云元数据范围。 4. 权限控制:如果此功能不需要管理员权限,应限制为普通用户不可用。 5. 网络隔离:作为纵深防御措施,将出站请求功能隔离到无法访问敏感内部服务的加固网络路径中。 POC / 利用代码 1. 启动本地 HTTP 服务器用于接收请求和验证: 2. 构造恶意请求(JSON Payload): 3. 发送请求(示例): 4. 下载利用结果: (注: 为上传接口响应中返回的文件标识符)