JavaSecLab 一款综合Java漏洞平台

简介: JavaSecLab是一款综合型Java漏洞学习平台,涵盖多种漏洞场景,提供漏洞代码、修复示例、安全编码规范及友好UI。适用于安全服务、甲方安全培训、安全研究等领域,助于理解漏洞原理与修复方法。支持跨站脚本、SQL注入等多种漏洞类型……

项目介绍

​ JavaSecLab是一款综合型Java漏洞平台,提供相关漏洞缺陷代码、修复代码、漏洞场景、审计SINK点、安全编码规范,覆盖多种漏洞场景,友好用户交互UI……

home.png

show.png

面向人群

  • 安全服务方面:帮助安全服务人员理解漏洞原理(产生、修复、审计)

  • 甲方安全方面:可作为开发安全培训演示,友好的交互方式,帮助研发同学更容易理解漏洞

  • 安全研究方面:各种漏洞的不同触发场景,可用于xAST等安全工具测试

支持漏洞模块

  • 跨站脚本攻击、跨站请求伪造、CORS、JSONP、URL重定向、XFF伪造、拒绝服务、XPATH注入

  • SQL注入、任意文件系列、跨服务端请求伪造、XML实体注入、RCE

  • 逻辑漏洞(IDOR、验证码安全、支付安全、并发安全)、敏感信息泄漏系列、登录对抗系列

  • SPEL注入、SSTI注入、反序列化、组件漏洞

在线环境体验

http://whgojp.top/

账号密码:admin/admin

项目灵感

​ 曾在甲方单位工作过一段时间,有机会接触到完整的漏洞生命周期:很多次做完渗透测试后,通过(TAPD、Jira)发送工单通知研发同学修复漏洞,经常面临着一些问题:1、研发不知道为什么这是个漏洞?2、研发不知道这个漏洞怎么修复?
​ 由此,一个想法💡油然而生,恰巧自己也懂些开发知识,想着可不可以通过代码的方式让研发同学快速了解漏洞的产生与修复……

平台提供相关漏洞的安全编码规范,甲方朋友在做SDL/DevSecOps建设的时候,可以考虑加入开发安全培训这一环节

​ 此外,自己也做过安全服务类项目,我想大部分朋友会和我一下,只是按照 信息收集->外网打点->发现漏洞->输出报告 这个流程测试,对于漏洞怎么产生、怎么修复,似乎并不关心……

​ 代码审计过程中,通常是先定位SINK点(即代码执行或输出的关键位置),然后再回溯寻找对应的SOURCE点(即输入或数据来源的位置)。通过将SOURCE点和SINK点串联起来,来完成代码审计工作

平台针对每种漏洞提供对应缺陷代码、多种安全安全修复方式(例如:1、升级修复 2、非升级修复),同时针对代码审计,平台也提供相关漏洞的SINK点

​ 再后来,接触了应用安全产品,SCA、SAST、DAST、RASP等,看待安全漏洞似乎又是另一种角度,对于客户来说,采购的安全工具,无论是扫源码、容器、镜像……,都希望尽可能的扫到更多的漏洞,当然也希望少点误报,笔者也或多或少接触到可达性分析等相关技术,项目中也针对每种漏洞编写了不同的触发场景,感兴趣的朋友可以测试一下……

平台针对同种漏洞提供多种触发场景

……

技术架构

​ SpringBoot + Spring Security + MyBatis + Thymeleaf + Layui

部署方式

先clone下项目代码

git clone https://github.com/whgojp/JavaSecLab.git
AI 代码解读

git-clone.png

本地部署-IDEA

JDK环境 1.8

  1. 配置数据库(Mysql 8.0+)

    执行 sql/JavaSecLab.sql 文件

    修改配置文件application.yml active为dev(项目默认为docker 如果搭建的过程中出现数据库连接错误 师傅们可以注意下这里)

    spring:
      # 环境 dev|docker
      profiles:
        active: dev
    
    AI 代码解读
  2. 修改application-dev.yml配置文件

username: root
password: QWE123qwe
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
AI 代码解读

login.png

初始账号密码:admin/admin(后台可修改)

Docker部署(推荐)

条件:已安装docker和docker-compose

docker部署过程中 sql文件没有初始化执行的话(即数据库为空) 需要手动导入下sql文件

mvn clean package -DskipTests
docker-compose -p javaseclab up -d
AI 代码解读

deploy-docker.png
deploy-docker2.png

更多部署方案、部署问题解答详见:部署指南

开源协议

When we speak of free software, we are referring to freedom, not price.

本项目遵循 Apache License 2.0 协议,详细的许可证内容请参见项目中的 LICENSE 文件。

更新记录

项目的详细更新记录请参阅 更新日志

一些Tips🙋

  1. 安全问题:由于是漏洞靶场,因此不建议搭建在公网上使用
  2. 项目中的安全修复代码仅供参考,实际业务中漏洞修复起来可能要复杂的多……
  3. 问题/建议反馈:如果遇到一些项目问题或者更好的建议,欢迎各位师傅可以提Issue或加交流群进行反馈
  4. 看到这里,师傅觉得项目有用的话,麻烦动动手点个star吧,非常感谢🙏
目录
打赏
0
2
2
0
36
分享
相关文章
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
智慧产科一体化管理平台源码,基于Java,Vue,ElementUI技术开发,二开快捷
智慧产科一体化管理平台覆盖从备孕到产后42天的全流程管理,构建科室协同、医患沟通及智能设备互联平台。通过移动端扫码建卡、自助报道、智能采集数据等手段优化就诊流程,提升孕妇就诊体验,并实现高危孕产妇五色管理和孕妇学校三位一体化管理,全面提升妇幼健康宣教质量。
28 12
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
Java智慧工地信息管理平台源码 智慧工地信息化解决方案SaaS源码 支持二次开发
智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
69 3
家政上门系统用户端、阿姨端源码,java家政管理平台源码
家政上门系统基于互联网技术,整合大数据分析、AI算法和现代通信技术,提供便捷高效的家政服务。涵盖保洁、月嫂、烹饪等多元化服务,支持多终端访问,具备智能匹配、在线支付、订单管理等功能,确保服务透明、安全,适用于家庭生活的各种需求场景,推动家政市场规范化发展。
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
完全开源!国内首个完全开源JAVA企业级低代码平台
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
143 5
Java反序列化漏洞与URLDNS利用链分析
Java反序列化漏洞与URLDNS利用链分析
86 3
|
4月前
|
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
180 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等