Skip to content

Commit 3b73dba

Browse files
committed
pre completion
1 parent 267b5c0 commit 3b73dba

File tree

553 files changed

+149475
-8800
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

553 files changed

+149475
-8800
lines changed

.idea/mybatisx/templates.xml

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# <img src="./pic/logo.png" alt="logo" style="zoom:5%;" />JavaSecLab 一款综合Java漏洞平台
2+
3+
<p align="center">
4+
<a href="https://www.apache.org/licenses/LICENSE-2.0.html"><img src="https://img.shields.io/github/license/alibaba/transmittable-thread-local?color=4D7A97&logo=apache" alt="License"></a>
5+
<img src="https://img.shields.io/badge/Release-DEV-brightgreen.svg" alt="Release">
6+
<a href="https://github.com/whgojp/JavaSecLab"><img src="https://img.shields.io/badge/Version-1.0-red.svg" alt="Version"></a>
7+
<a href="https://blog.csdn.net/weixin_53009585"><img src="https://img.shields.io/badge/Developed%20by-whgojp-blue.svg" alt="Developed by whgojp"></a>
8+
</p>
9+
10+
----------------------------------------
11+
12+
## 项目介绍
13+
​ JavaSecLab是一款综合型Java漏洞平台,提供相关缺陷代码、修复代码、漏洞场景、审计SINK点、安全编码规范,覆盖多种漏洞场景,友好用户交互UI……
14+
15+
![image-20241020143155383](./pic/home.png)
16+
17+
18+
19+
## 面向人群
20+
21+
- 安全服务方面:帮助安全服务人员理解漏洞原理(产生、修复、审计)
22+
- 甲方安全方面:可作为开发安全培训演示,友好的交互方式,帮助研发同学更容易理解漏洞
23+
- 安全研究方面:各种漏洞的不同触发场景,可用于xAST等安全工具测试
24+
25+
## 项目灵感
26+
27+
​ 实习期间在甲方单位待了半年多,有机会可以接触到完整的**漏洞生命周期**:很多次做完渗透测试后,通过(TAPD、Jira)发送工单通知研发朋友修复漏洞,经常面临着一些问题:**1、研发不知道为什么这是个漏洞?2、研发不知道这个漏洞怎么修复?**
28+
​ 由此,一个想法💡油然而生,恰巧自己也懂些开发知识,想着可不可以通过代码的方式让研发朋友快速了解漏洞的产生与修复……
29+
30+
> 平台提供相关漏洞的安全编码规范,甲方朋友在做SDL/DevSecOps建设的时候,可以考虑加入开发安全培训这一环节
31+
32+
​ 此外,自己也做过安全服务类项目,我想大部分朋友会和我一下,只是按照 信息收集->外网打点->发现漏洞->输出报告 这个流程测试,对于漏洞怎么产生、怎么修复,似乎并不关心……
33+
34+
​ 代码审计过程中,通常是先定位SINK点(即代码执行或输出的关键位置),然后再回溯寻找对应的SOURCE点(即输入或数据来源的位置)。通过将SOURCE点和SINK点串联起来,呐,这就是代码审计
35+
36+
> 平台针对每种漏洞提供对应缺陷代码、多种安全安全修复方式(例如:1、升级修复 2、非升级修复),同时针对代码审计,平台也提供相关漏洞的SINK点
37+
38+
​ 再后来,接触了应用安全产品,SCA、SAST、DAST、RASP等,看待安全漏洞似乎又是另一种角度,对于客户来说,采购的安全工具,无论是扫源码、容器、镜像……,都希望尽可能的扫到更多的漏洞,当然也希望少点误报,笔者也或多或少接触到可达性分析等相关技术,想想看,茴香豆的"茴"都有4种写法,一个漏洞的触发方式当然也不尽相同,所以项目中也针对每种漏洞编写了不同的触发场景,感兴趣的朋友可以测试一下……
39+
40+
> 平台针对同种漏洞提供多种触发场景
41+
42+
## 技术架构
43+
44+
​ SpringBoot + Spring Security + MyBatis + Thymeleaf + Layui
45+
46+
## 部署方式
47+
48+
先clone下项目代码
49+
50+
```shell
51+
git clone https://github.com/whgojp/JavaSecLab.git
52+
```
53+
54+
![image-20240905230400930](./pic/git-clone.png)
55+
56+
### 原生部署-IDEA
57+
58+
> JDK环境 1.8
59+
60+
1. 配置数据库(**Mysql 8.0+**)
61+
62+
执行 sql/JavaSecLab.sql 文件
63+
64+
修改配置文件application.yml active为prod(项目默认为docker)
65+
66+
```yaml
67+
spring:
68+
# 环境 dev|docker
69+
profiles:
70+
active: dev
71+
```
72+
73+
2. 修改application-dev.yml配置文件
74+
75+
```yaml
76+
username: root
77+
password: QWE123qwe
78+
url: jdbc:mysql://localhost:13306/JavaSecLab?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&allowMultiQueries=true
79+
```
80+
81+
<img src="./pic/login.png" alt="logo" style="zoom:100%;" />
82+
83+
初始账号密码:admin/admin(后台可修改)
84+
85+
### Docker部署(推荐)
86+
87+
> 条件:已安装docker和docker-compose
88+
89+
```shell
90+
mvn clean package -DskipTests
91+
docker-compose -p javaseclab up -d
92+
```
93+
94+
![image-20240905225532698](./pic/deploy-docker.png)
95+
96+
![image-20240905225532698](./pic/deploy-docker2.png)
97+
98+
## TodoList
99+
100+
- [ ] 跨站脚本模块实现
101+
- [ ] SQL注入模块实现
102+
- [ ] 任意文件类模块实现
103+
104+
## 开源协议
105+
106+
**When we speak of free software, we are referring to freedom, not price.**
107+
108+
本项目遵循 [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) 协议,详细的许可证内容请参见项目中的 [LICENSE](./LICENSE) 文件。
109+
110+
## 一些Tips🤔
111+
112+
1. 安全问题:由于是漏洞靶场,因此不建议搭建在公网上使用
113+
114+
## 关于作者
115+
116+
作者博客:https://blog.csdn.net/weixin_53009585
117+
118+
作者微信
119+
120+
![image-20241020143410723](./pic/wechat.png)
121+

deploy.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docker build -t javasec . && docker run -d -p 80:8888 -v logs:/logs javasec

docker-compose.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ services:
1515
- JavaSecLabNet
1616

1717
JavaSecLab:
18-
image: backend:1.0
18+
image: javaseclab:1.0
1919
container_name: Container-JavaSecLab
2020
restart: always
2121
build: .
2222
ports:
23+
- 80:80
2324
- 8080:8080
2425
- 9090:9090
2526
environment:
@@ -31,9 +32,21 @@ services:
3132
networks:
3233
- JavaSecLabNet
3334

35+
# 密码 admin@portainer.com
36+
portainer:
37+
image: portainer/portainer-ce
38+
container_name: portainer
39+
restart: always
40+
ports:
41+
- 9000:9000
42+
- 18001:8080
43+
volumes:
44+
- /var/run/docker.sock:/var/run/docker.sock
45+
networks:
46+
- JavaSecLabNet
3447
networks:
3548
JavaSecLabNet:
3649
driver: bridge
3750
ipam:
3851
config:
39-
- subnet: 192.168.66.0/24
52+
- subnet: 192.168.1.0/24

pic/deploy-docker.png

659 KB
Loading

pic/deploy-docker2.png

109 KB
Loading

pic/git-clone.png

211 KB
Loading

pic/home.png

415 KB
Loading

pic/wechat.png

328 KB
Loading

0 commit comments

Comments
 (0)