| 字段 | 内容 |
|---|---|
| 报告编号 | VULN-OMS-2026-002 |
| 漏洞等级 | 🔴 高危 |
| 漏洞类型 | 未授权文件上传 (Unrestricted File Upload) |
| 目标系统 | example-poseidon3.*****.com (Poseidon3企业应用平台) |
| 发现日期 | 2026-07-07 |
| 影响服务 | po-server(门户服务)、pr-server(报审服务) |
Poseidon3企业应用平台存在两个未授权文件上传接口,分别位于门户服务(po-server)和报审服务(pr-server)。攻击者无需任何身份认证即可向服务器上传任意文件,若服务端未对文件类型、内容和存储路径进行严格校验,可能导致Webshell上传,进而获取服务器控制权限。该漏洞属于OWASP Top 10中 A04:2021 - Insecure Design 及 A01:2021 - Broken Access Control 类别。
接口一:门户服务用户注册文件上传
POST https://example-poseidon3.*****.com/po-server/portal/member/userRegister/uploadFile
接口二:报审服务审批报表文件上传
POST https://example-poseidon3.*****.com/pr-server/dispatch/apprReportDoor/fileUpload
在前端构建产物 pages.e7b00d27.js 中发现如下调用逻辑:
// pages.e7b00d27.js — 门户服务
poServer.post("/portal/member/userRegister/uploadFile", params, {
headers: { "Content-Type": "multipart/form-data" }
});
// pages.e7b00d27.js — 报审服务
prServer.post("/dispatch/apprReportDoor/fileUpload", params);
| 接口 | 服务 | ECAS保护 | 应用层认证 |
|---|---|---|---|
| uploadFile | po-server | ❌ | ❌ |
| fileUpload | pr-server | ❌ | ❌ |
两个服务均未被CAS SSO保护,且接口层面无独立认证机制。
curl -sk -X POST \
"https://example-poseidon3.*****.com/po-server/portal/member/userRegister/uploadFile" \
-F "file=@test.txt"
curl -sk -X POST \
"https://example-poseidon3.*****.com/pr-server/dispatch/apprReportDoor/fileUpload" \
-F "file=@test.txt"
1. 攻击者构造恶意JSP/PHP文件(如 shell.jsp)
2. 通过 uploadFile 接口上传至服务器
3. 若服务端未校验文件扩展名或将其存储在Web可访问目录
4. 攻击者通过URL直接访问上传的Webshell
5. 获得远程命令执行权限(RCE)
1. 上传包含恶意JavaScript的HTML文件或SVG文件
2. 其他用户下载或预览该文件时触发XSS
3. 窃取用户Session Token或执行钓鱼操作
1. 上传携带木马的文档文件(如 .docx、.pdf)
2. 利用系统公告/审批流程将恶意文件分发给内部用户
3. 用户下载并打开后感染终端设备
获取系统配置(getLoginSwitch) → 上传Webshell(uploadFile) → 访问Webshell获取RCE → 提权控制服务器
影响后果: 若Webshell上传成功,攻击者可获得服务器完全控制权,可读取/修改/删除任意文件,甚至横向渗透内网。
| 层级 | 问题 |
|---|---|
| 架构层 | po-server 和 pr-server 均未被ECAS保护 |
| 代码层 | 文件上传方法缺少 @PreAuthorize 或 @Secured 注解 |
| 配置层 | Spring Security 的 URL 拦截规则未覆盖上传接口 |
| 安全设计层 | 文件上传功能缺少以下防护措施: — 文件扩展名白名单校验 — 文件MIME类型校验 — 文件内容魔数(Magic Number)校验 — 文件存储路径与Web根目录隔离 — 上传文件重命名策略 |
| 维度 | 影响 |
|---|---|
| 机密性 | 🔴 高 — RCE可读取服务器任意文件 |
| 完整性 | 🔴 高 — RCE可修改服务器任意文件 |
| 可用性 | 🔴 高 — RCE可删除数据或停止服务 |
| 业务影响 | 🔴 严重 — 可能导致整个服务器被控制 |
CVSS 3.1 评估:
| 指标 | 值 | 说明 |
|---|---|---|
| Attack Vector | Network | 远程可利用 |
| Attack Complexity | Low | 无需特殊条件 |
| Privileges Required | None | 无需认证 |
| User Interaction | None | 无需用户参与 |
| Scope | Changed | 可影响后端服务器 |
| 基础分 | 9.8 | Critical |
Content-Disposition: attachment,防止浏览器直接渲染。报告日期: 2026-07-07