JEEWMS-SQL注入(CVE-2025-0392)和权限绕过(CVE-2024-5775)漏洞分析
字数 2033 2025-08-29 08:30:05
JEEWMS漏洞分析与利用教学文档
1. JEEWMS系统简介
JeeWMS是基于Java全栈技术打造的智能仓储中枢系统,具备多形态仓储场景深度适配能力(兼容3PL第三方物流与厂内物流双模式)。系统通过PDA智能终端与WEB管理平台双端协同,构建了涵盖仓储管理(WMS)、订单协同(OMS)、财务结算(BMS)、运输调度(TMS)的全链路数字化解决方案。
2. SQL注入漏洞分析(CVE-2025-0392)
2.1 漏洞位置
漏洞存在于graphReportController.do接口,具体路径为:
org/jeecgframework/web/graphreport/controller/GraphReportController.java:303
2.2 漏洞触发条件
路由graphReportController必须包含datagridGraph参数时,会调用执行datagridGraph方法。
2.3 漏洞详细分析
-
参数传递流程:
CgReportQueryParamUtil工具类处理查询参数的加载逻辑loadQueryParams()方法动态加载并封装查询条件参数- 从
item对象中获取filedName的值并强制转换成字符串 - 用户端传入的参数
store_code被传递给filedName
-
关键处理点:
org/jeecgframework/core/online/util/CgReportQueryParamUtil.java:44:参数值传递给value字符串org/jeecgframework/core/online/util/CgReportQueryParamUtil.java:49:从用户端获取所有数据并传递给uri字符串- 简单判断
value参数值是否带有"*"后,直接拼接存入queryparams
-
SQL拼接执行:
queryparams传递给graphReportService.queryByCgReportSql()方法- 参数值与SQL语句传给
handleElInSQL()方法生成新SQL - 新SQL传给
getFullSql()方法进行简单判断后直接拼接 - 最终在
JdbcDao.java:149直接拼接SQL查询语句执行
2.4 漏洞本质
整个过程中没有对参数进行过滤或转义,store_code参数可控,导致SQL注入漏洞。
2.5 漏洞复现
可以使用sqlmap工具进行复现,构造特定的store_code参数值实现注入。
3. 权限绕过漏洞分析(CVE-2024-5775)
3.1 漏洞位置
漏洞存在于权限校验拦截器中:
org/jeecgframework/core/interceptors/AuthInterceptor.java:85
3.2 漏洞原理
-
拦截器逻辑:
- 模糊查询判断
requestPath参数路径是否包含在excludeContainUrls数组变量里 - 如果包含就直接返回
true,绕过权限检查
- 模糊查询判断
-
关键方法:
moHuContain()方法将接收的参数key和list列表参数逐个比较list中包含wmOmNoticeHController.do等三个参数- 当
key是list列表的某一个参数时,直接返回,无其他过滤
3.3 漏洞利用
构造特殊路由,在路径中包含白名单参数即可绕过登录:
- 例如:
wmOmNoticeHController.do/../ - 无需登录即可直接访问后台接口,获取敏感数据
3.4 影响范围
所有包含以下参数的路径均可绕过:
wmOmNoticeHController.do- 其他两个未明确命名的参数(根据描述存在但未具体说明)
4. 漏洞修复建议
4.1 SQL注入漏洞修复
- 使用预编译语句(PreparedStatement)替代字符串拼接
- 对用户输入的
store_code参数进行严格过滤和转义 - 实现参数化查询,避免直接拼接SQL
4.2 权限绕过漏洞修复
- 修改
AuthInterceptor拦截器逻辑,取消模糊匹配 - 实现精确路径匹配而非包含匹配
- 对白名单路径进行严格校验,防止路径遍历绕过
- 添加额外的权限校验层
5. 漏洞利用扩展
-
SQL注入:
- 可尝试其他参数的注入点
- 结合系统功能进行更复杂的注入攻击
-
权限绕过:
- 尝试其他路径组合方式
- 测试其他可能存在的白名单参数
- 结合路径遍历技术访问更深层次的接口
6. 总结
本文详细分析了JEEWMS系统中的两个高危漏洞:
- SQL注入漏洞(CVE-2025-0392):由于参数未过滤直接拼接SQL导致
- 权限绕过漏洞(CVE-2024-5775):由于拦截器模糊匹配逻辑缺陷导致
这两个漏洞均可被攻击者利用获取系统敏感数据或未授权访问,建议用户及时升级修复。