对于学习Java漏洞代码来说,Java Sec Code
是一个非常强大且友好的项目。
原作者老哥写的没问题,就是网络问题会导致不能用,我就自行修改了一下,我就拉我这里自己改着玩吧
我自己fork过来,修复一下,后续会自己做实验,修改一些东西
他的docker 和在线dome 现在都不能登陆了,过段时间可能可以?
该项目也可以叫做Java Vulnerability Code(Java漏洞代码)。
每个漏洞类型代码默认存在安全漏洞(除非本身不存在漏洞),相关修复代码在注释里。具体可查看每个漏洞代码和注释。
登录用户名密码:
admin/admin123
joychou/joychou123
- Actuators to RCE
- CommandInject
- CORS
- CRLF Injection
- CSRF
- Deserialize
- Fastjson
- File Upload
- IP Forge
- Java RMI
- JSONP
- ooxmlXXE
- PathTraversal
- RCE
- SpEL
- SQL Injection
- SSRF
- SSTI
- URL Redirect
- URL whitelist Bypass
- xlsxStreamerXXE
- XSS
- XStream
- XXE
- Actuators to RCE
- CORS
- CSRF
- Deserialize
- Fastjson
- Java RMI
- JSONP
- POI-OOXML XXE
- SQLI
- SSRF
- SSTI
- URL whitelist Bypass
- XXE
- Others
应用会用到mybatis自动注入,请提前运行mysql服务,并且配置mysql服务的数据库名称和用户名密码(除非是Docker环境)。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/java_sec_code
spring.datasource.username=root
spring.datasource.password=woshishujukumima
- Docker
- IDEA
- Tomcat
- JAR
git clone https://github.com/JoyChou93/java-sec-code
- 在IDEA中打开,直接点击run按钮即可运行。
例子:
http://localhost:8080/rce/exec?cmd=whoami
返回:
Viarus
git clone https://github.com/JoyChou93/java-sec-code & cd java-sec-code
- 生成war包
mvn clean package
- 将target目录的war包,cp到Tomcat的webapps目录
- 重启Tomcat应用
例子:
http://localhost:8080/java-sec-code-1.0.0/rce/exec?cmd=whoami
返回:
Viarus
先修改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包路径
如果未登录,访问任何页面都会重定向到login页面。用户名和密码如下。
admin/admin123
joychou/joychou123
Tomcat默认JSESSION会话有效时间为30分钟,所以30分钟不操作会话将过期。为了解决这一问题,引入rememberMe功能,默认过期时间为2周。