[Security] Second-Order SSRF in jeecboot_JeecBoot #9553 漏洞概述 在 的公告文件下载功能中存在二次服务器端请求伪造(SSRF)漏洞。攻击者可通过 接口,在 字段中注入恶意 HTTP URL。当用户或管理员随后通过 触发下载时,服务器会未经 SSRF 防护地发起 HTTP 请求,从而扫描内网、访问本地服务或获取云元数据等敏感信息。 影响范围 受影响版本:<= v3.9.1 受影响组件: - (L299-171, L751-756) - (L271-326) - (L299-279) 关键函数/方法: - - - 入口点: - 注入: - 执行: 修复方案 1. 输入验证:在 方法中对 参数进行严格的 URL 格式和协议校验,禁止非白名单协议(如 , )或内网 IP。 2. SSRF 防护:在 方法中,对 HTTP 请求添加 SSRF 防护机制,例如: - 限制重定向 - 禁止访问内网 IP、本地回环地址、云元数据地址 - 使用白名单域名或 IP 列表 3. 路径遍历防护:确保 对所有文件路径(包括 URL 解析后的路径)进行完整校验。 POC 代码 注入阶段(SysAnnouncementController.java) 恶意载荷示例 触发阶段(SysAnnouncementServiceImpl.java) 利用阶段(FileDownloadUtils.java)