最近在测试IAST的java agent,因此找了一些java的安全靶场,java靶场经常用的主要有下面的一些。
1. WebGoat
WebGoat是由OWASP组织研制出的用于进行Web漏洞实验的Java靶场程序。提供的训练课程有30多个,其中包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、操纵参数、弱会话cookie、SQL盲注、数字型SQL注入、字符串型SQL注入、web服务、Open Authentication失效、危险的HTML注释等等。WebGoat提供了一系列web安全学习的教程,某些课程也给出了视频演示,指导用户利用这些漏洞进行攻击。
github地址:https://github.com/WebGoat/WebGoat
新版本需要jdk17
安装
2.SecExample
SecExample 是一个精心设计的实验平台,涵盖了多种Java Web应用中的安全漏洞,包括SQL注入、命令注入、XSS攻击等。这个项目的目标是帮助开发者增强对安全问题的认识,并提高在实际项目中预防和修复这些问题的能力。通过这个靶场,你可以以互动的方式进行学习,了解每个漏洞的工作原理,以及如何避免它们。
github地址:https://github.com/tangxiaofeng7/SecExample
java版本1.8
安装
git clone https://github.com/tangxiaofeng7/SecExample.git
cd SecExample
docker-compose up -d
3.Hello-Java-Sec
该项目是另一个比较常用的java靶场,包含了常见的web漏洞
地址:https://github.com/j3ers3/Hello-Java-Sec
技术架构
-
Java 1.8
SpringBoot 4.0
Bootstrap 4.6.0
Codemirror 5.62.0
安装
IDEA
配置数据库连接,数据库文件src/main/resources/db.sql
jdbc:mysql://127.0.0.1:3306/test =
root =
1234567 =
Jar运行
JDK 1.8环境
git clone https://github.com/j3ers3/Hello-Java-Sec
cd Hello-Java-Sec
mvn clean package -DskipTests
java -jar target/hello-1.0.0-SNAPSHOT.jar
Docker运行
mvn clean package
./deploy.sh
4.Java WebBug
WebBug是用Java语言编写的Web漏洞靶场,包含常见的Web漏洞,也有一些业务逻辑漏洞。相对常见的漏洞靶场, WebBug的优点是没有明确指明哪个页面有什么类型的漏洞,所以需要测试者自己测试过之后才能知道,相对更接近实战环境。WebBug还有一个优点就是给出了部分漏洞的修复方案,可以在学习Web漏洞测试的同时,也能学习Java应用程序漏洞的修复方式及思路。
下载地址:https://github.com/mysticbinary/WebBug
服务器版本:9.0.52.0(我用的是Tomcat9,你也可以考虑用作者使用的Tomcat7)
jdk8版本:jdk8_112
数据库版本:Mysql 5.7.33
运行工具:IDEA
安装
git clone https://github.com/mysticbinary/WebBug.git
cd WebBug
docker-compose up -d
5.java-sec-code
该项目也可以叫做Java Vulnerability Code(Java漏洞代码)。
每个漏洞类型代码默认存在安全漏洞(除非本身不存在漏洞),相关修复代码在注释里。具体可查看每个漏洞代码和注释。
项目地址:https://github.com/JoyChou93/java-sec-code/
安装
应用会用到mybatis自动注入,请提前运行mysql服务,并且配置mysql服务的数据库名称和用户名密码(除非是Docker环境)。
jdbc:mysql://127.0.0.1:3306/java_sec_code =
root =
woshishujukumima =
可以通过下面的四个方法进行安装:
Docker
IDEA
Tomcat
JAR
Docker
开启应用:
pull
up
关闭应用:
down
Docker环境:
Java 1.8.0_102
Mysql 8.0.17
Tomcat 8.5.11
IDEA
git clone https://github.com/JoyChou93/java-sec-code
在IDEA中打开,直接点击run按钮即可运行。
例子:
http://localhost:8080/rce/exec?cmd=whoami
返回:
Viarus
Tomcat
git clone https://github.com/JoyChou93/java-sec-code & cd java-sec-code
mvn clean package
将target目录的war包,cp到Tomcat的webapps目录
重启Tomcat应用
例子:
http://localhost:8080/java-sec-code-1.0.0/rce/runtime/exec?cmd=whoami
返回:
Viarus
JAR包
先修改pom.xml里的配置,将war改成jar。
<groupId>sec</groupId>
<artifactId>java-sec-code</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
再打包运行即可。
git clone https://github.com/JoyChou93/java-sec-code
cd java-sec-code
mvn clean package -DskipTests
java -jar 打包后的jar包路径
原文始发于微信公众号(信安路漫漫):java常用安全漏洞靶场
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论