# LWJ Flow SVG 文件上传漏洞
## 概述
在 lwj flow(提交版本 a3d2fe8133db9d3b50fda4f66f68634640344641 及之前)中发现一处安全漏洞,涉及 SVG 文件处理组件中的文件上传功能。
## 影响版本
lwj flow 提交版本 a3d2fe8133db9d3b50fda4f66f68634640344641 及之前版本。由于项目采用滚动发布策略,无法具体指明受影响或已修复的版本号。
## 细节
漏洞存在于组件 SVG File Handler 的 `FormResource.java` 文件中的 `uploadFile` 函数(路径:`\flow-master\flow-front-rest\src\main\java\com\dragon\flow\web\resource\flow\FormResource.java`)。攻击者可通过操控 `File` 参数实现任意文件上传。
## 影响
该漏洞允许远程攻击者进行不受限制的文件上传,可能导致服务器被控制或恶意代码执行。漏洞已被公开披露并可能被利用。项目方已通过问题报告提前获知此问题,但尚未回应。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: [Vulnerability]Arbitrary File Upload · Issue #IDIQSE · bruce/flowable - Gitee -- 🔗来源链接
标签:exploitissue-tracking
神龙速读:
### 漏洞关键信息
**漏洞类型**: 任意文件上传
**漏洞描述**: 流程引擎Flowable中存在任意文件上传漏洞,原因在于内容类型验证不足。
**受影响文件**: `/flow-front-rest/src/main/java/com/drragon primarily/front/uploadFile/`
**关键代码分析**:
- **存储实现**: `store` 方法直接按照文件名存存储文件,无严格的文件类型验证。
- **文件生成键**: `generateKey` 方法仅获取文件后缀,未对文件类型进行合法性判断。
- **内容类型方法**: `getContentType` 仅根据文件扩展名设置内容类型,未深检文件本身属性。
**利用方式**:
- **HTTP请求示例**: 提交恶意的`.html`类型文件伪装成`text/html`,上传如`1.exe`等可执行文件。
- **成功响应**: 提交的文件被成功存储,响应码为200,并返回对应文件上传成功的信息。
**风险影响**: 潜在导致服务器被恶意文件控制,可能执行任意代码。
**修复建议**: 引入严格的文件类型验证机制,并结合内容与扩展名双重验证,以防止文件类型伪造。
暂无评论