[Security] Direct SSRF via uploadImgByHttp Endpoint in jeecgboot_jeecBoot #9555 漏洞概述 在 的 端点中存在直接服务器端请求伪造(SSRF)漏洞。该漏洞允许攻击者在未经身份验证的情况下,强制服务器向任意外部或内部资源发起 HTTP 请求。由于文件类型过滤( )在外部资源完全下载后才执行,攻击者可以利用此漏洞进行内网扫描、本地服务枚举或窃取敏感云元数据凭证。 影响范围 受影响版本: <= 3.9.1 受影响组件: (L321-344) (L28-66) (L38-66) 函数/方法: , , 入口点: 修复方案 1. URL 验证前置: 在发起 HTTP 请求之前,必须对 进行严格的 URL 验证和校验。 2. IP 限制: 禁止请求内网 IP 地址(如 127.0.0.1, 10.x.x.x, 192.168.x.x 等)。 3. 协议限制: 仅允许 和 协议,禁止 , , 等危险协议。 4. 文件类型检查前置: 将 的检查逻辑移至下载之前,或者在确认 URL 安全后再进行下载。 POC 代码 利用步骤: 1. 获取一个有效的会话。 2. 发送 POST 请求到 ,JSON payload 包含恶意内部 URL(例如: )。 3. 服务器立即获取目标 URL,在发生任何安全验证之前,将响应(如敏感内部数据)写入可访问的上传文件,或仅通过响应行为揭示内部服务可用性。 关键代码片段: Immediate Execution (No Storage) - CommonController.java:321-344 Utility Forwarding - HttpFileToMultipartFileUtil.java:28-31 The Sink - HttpFileToMultipartFileUtil.java:38-66**