对于学习Java漏洞代码来说,Java Sec Code
是一个非常强大且友好的项目。
英文文档 😋
该项目也可以叫做Java Vulnerability Code(Java漏洞代码)。
每个漏洞类型代码默认存在安全漏洞(除非本身不存在漏洞),相关修复代码在注释里。具体可查看每个漏洞代码和注释。
由于服务器到期,在线的Demo网站已不能使用。
登录用户名密码:
admin/admin123
joychou/joychou123
- Actuators to RCE
- CommandInject
- CORS
- CRLF Injection
- CSRF
- CVE-2022-22978
- Deserialize
- Fastjson
- File Upload
- IP Forge
- Java RMI
- JSONP
- Log4j
- ooxmlXXE
- PathTraversal
- QLExpress
- RCE
- Runtime
- ProcessBuilder
- ScriptEngine
- Yaml Deserialize
- Groovy
- Shiro
- SpEL
- SQL Injection
- SSRF
- SSTI
- URL Redirect
- URL whitelist Bypass
- xlsxStreamerXXE
- XSS
- XStream
- XXE
- JWT
- Actuators to RCE
- CORS
- CSRF
- Deserialize
- Fastjson
- Java RMI
- JSONP
- POI-OOXML XXE
- SQLI
- SSRF
- SSTI
- URL whitelist Bypass
- XXE
- JWT
- 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
开启应用:
docker-compose pull
docker-compose up
关闭应用:
docker-compose down
Docker环境:
- Java 1.8.0_102
- Mysql 8.0.17
- Tomcat 8.5.11
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/runtime/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周。
核心开发者: JoyChou.其他开发者:lightless, Anemone95。欢迎各位提交PR。
如果你喜欢这个项目,你可以star该项目支持我。 有了你的支持,我将能够更好地制作Java sec code
项目。