Skip to content

Purposely vulnerable Java application to help lead secure coding workshops

License

Notifications You must be signed in to change notification settings

ioannis-matzaris/vulnado

 
 

Repository files navigation

Vulnado - Intentionally Vulnerable Java Application

This application and exercises will take you through some of the OWASP top 10 Vulnerabilities and how to prevent them.

Up and running

  1. Install Docker for MacOS or Windows. You'll need to create a Docker account if you don't already have one.
  2. git clone git://github.com/ScaleSec/vulnado
  3. cd vulnado
  4. docker-compose up
  5. Open a browser and navigate to the client to make sure it's working: http://localhost:1337
  6. Then back in your terminal verify you have connection to your API server: nc -vz localhost 8081

Architecture

The docker network created by docker-compose maps pretty well to a multi-tier architecture where a web server is publicly available and there are other network resources like a database and internal site that are not publicly available.

Exercises

Remote Debugging - jdb

In case you would like to try some remote debugging with jdb, you may

  1. docker-compose up --build -d
  2. docker cp vulnado_vulnado_1:/vulnado-0.0.1-SNAPSHOT.jar .
  3. Use JD-GUI [https://github.com/java-decompiler/jd-gui] to decompile the jar
  4. Change the file structure, so that the remote debugging can be successfully done
  5. jdb -sourcepath ./ -connect com.sun.jdi.SocketAttach:hostname=localhost,port=5005
  6. Set breakpoints using jdb stop in com.scalesec.vulnado.LoginController:20

About

Purposely vulnerable Java application to help lead secure coding workshops

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 56.4%
  • HTML 21.7%
  • JavaScript 9.0%
  • HCL 8.3%
  • CSS 2.4%
  • Shell 1.2%
  • Dockerfile 1.0%