前言
最近需要复现JeecgBoot的SQL注入漏洞,必须要搭建JeecgBoot v3.5.0这个版本才行,DockerHub没人push这个版本的,相关博客也比较少,所以自己来搭建,记录一下过程。
前置环境
- Ubuntu 20.04
- Docker version 27.3.1
- docker-compose version 1.27.4
- openjdk version “17.0.13”
- Apache Maven 3.6.3
平台介绍
JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x/3.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更多关注业务,既能快速提高效率,节省研发成本,同时又不失灵活性!一系列低代码能力:Online表单、Online报表、Online图表、仪表盘/门户设计、表单设计、流程设计、报表设计、大屏设计 等等…
• 主页:https://www.jeecg.com
• 源码:https://github.com/jeecgboot/JeecgBoot
配置过程
官方文档:http://doc.jeecg.com/2043889
先下载目标版本的源码,如果本地安装了mysql和redis,启动容器前先停掉本地服务,不然端口冲突:
net stop redis
net stop mysql
进入 jeecg-boot 项目根目录,执行maven打包命令
注意:在 Java 9 或更高版本中,由于 Java 模块系统的限制,反射操作试图访问 java.lang.ClassLoader.defineClass
方法时出现了问题。Java 的模块系统(JPMS)限制了某些内部 API 的访问,这导致你的代码无法成功执行。所以官方文档的命令可能会在本地报错,需要使用以下命令构建:
export MAVEN_OPTS="--add-opens=java.base/java.lang=ALL-UNNAMED"
mvn clean install
进入jeecg-boot根路径,执行docker命令, 启动镜像容器组:
docker-compose up -d
启动之后的容器组如下所示:
等待一分钟,待docker容器启动完成后,通过日志可以看到是否配置成功,接口也在其中给出,访问成功即可:
$ docker logs jeecg-boot-system-3.5.0
http://172.18.0.4:8080/jeecg-boot/doc.html#/home访问成功:
积木报表接口:http://172.18.0.4:8080/jeecg-boot/jmreport/list