JavaSecLab(一个适合JAVA程序员的漏洞平台)在1Panel运维管理系统机器上的部署和常见问题解决指南
JavaSecLab(一个适合JAVA程序员的漏洞平台)在1Panel运维管理系统机器上的部署和常见问题解决指南
·
文章目录
一 参考资料和项目地址
二1Panel面板上docker方式部署JavaSec项目步骤
2.1 环境准备
- 一台Linux机器,可以是虚拟机、本地机器、云服务器,系统不限如:Ubuntu、centos、debain、Kali.
- 安装1panel面板
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
- 如果遇到 Docker 安装失败等问题,可以尝试运行以下脚本:
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
- 安装成功后,控制台会打印面板访问信息,可通过浏览器访问 1Panel:
http://目标服务器 IP 地址:目标端口/安全入口
(如果使用的是云服务器,请至安全组开放目标端口。) - ssh 登录 1Panel 服务器后,执行 1pctl user-info 命令可获取安全入口(entrance)
2.2 项目下载和修改
-
访问JavaSecLab项目地址下载源码文件和,最新的项目Jar包。
-
在1panel文件控制面板中,将项目压缩包上传到服务器
/opt/1panel/apps
目录下,进行解压并命名为JavaSecLab
,并在/opt/1panel/apps/JavaSecLab
目录下新建target
目录,并将下载的jar包上传。 -
如果本机3306端口已经被使用,请修改项目中
docker-sompose
文件中的mysql服务外部映射端口,如3308。version: "3" services: mysql: image: mysql:8.0.33 container_name: Container-MYSQL8 restart: always ports: - 3308:3306
-
同时防止默认的容器网络于本地网络冲突,可以修改
docker-sompose
文件使用1panel
网络,完整docker-sompose
文件如下:version: "3" services: mysql: image: mysql:8.0.33 container_name: Container-MYSQL8 restart: always ports: - 3308:3306 environment: MYSQL_ROOT_PASSWORD: QWE123qwe MYSQL_DATABASE: JavaSecLab volumes: - ./sql/JavaSecLab.sql:/docker-entrypoint-initdb.d/JavaSecLab.sql networks: #- JavaSecLabNet - 1panel-network JavaSecLab: image: javaseclab:1.4 container_name: Container-JavaSecLab restart: always build: . ports: - 80:80 environment: - TZ=Asia/Shanghai # 设置时区上海(GMT+8) depends_on: - mysql volumes: - ./logs:/logs # 记录日志信息 networks: # - JavaSecLabNet - 1panel-network portainer: image: portainer/portainer-ce:latest container_name: portainer restart: always ports: - 9000:9000 - 18001:8080 volumes: - /var/run/docker.sock:/var/run/docker.sock networks: # - JavaSecLabNet - 1panel-network # networks: # JavaSecLabNet: # driver: bridge # ipam: # config: # - subnet: 192.168.1.0/28 networks: 1panel-network: external: true
2.3 容器构建与启动
- 执行构建于启动命令
cd /opt/1panel/apps/JavaSecLab
docker-compose up -d
- 访问
ip:80
即可打开web网站。默认用户名和密码都为admin
。swagger UI地址为ip/swagger-ui/index.html
2.4 内容介绍
- 项目内容主要分为两大块内容:常规漏洞和Java专题。有助于拥有后端开发者或专注于java后端口漏洞工作者,学习java后端技术架构系统上的漏洞和安全学习。
三 常见问题解决
- 默认项目使用
192.168.1.0/24
网段的桥接网络,存在与本地局域网环境冲突的问题,导致1panel面板和服务器SSH连接失败的问题。
- 修改使用1panel网络可以解决这个问题。如果服务器面板和SSH无法连接,如果服务器是本地机器,可以使用键鼠、显示器连接机器,删除容器和网络,设置1panel默认网络,重新构建。
- Mysql容器通信端口被本地Mysql服务占用,可以修改使用其他端口,需要修改docker-compose文件中的mysql外部映射端口。不需要修改项目配置的3306端口,因为容器之间采用内部端口通信,与外部端口无关。
四 学习建议
- 建议相关开发者,先学习基础的安全和漏洞相关的知识,如:SQL漏洞、XSS、CSRF等。
- 再结合java后端相关开发知识,搭建此漏洞平台进行深入学习。
更多推荐
所有评论(0)