Giter Site home page Giter Site logo

dvxuk23-sc-minilab's Introduction

Secure Coding Lab: Building Secure Java Applications

Devoxx UK 2023 - MiniLAB


Required software

  • Java 11 or higher
  • Maven installed
  • Decent IDE (preferably IntelliJ Community or Ultimate latest version)
  • unrestricted access to your work machine
  • A Github account with unrestricted access

This application is an intentional vulnerable Java Spring-Boot application with Thymeleaf. It is use for training purposes only!

The code is and layout of the application is based on https://github.com/hieutdo/waa-coffee-shop However it is heavily edited, updated and includes security problems by design!

Please do not use this application and workshop in any other way than intended or without consent of Brian Vermeer.


Getting started

  • Fork this repository to your own GitHub account
  • Check out the forked repository
git clone https://github.com/<your_username>/<forked-repo>.git 
  • Sign up for a free Snyk account at https://snyk.io/signup (unless you already have one)
  • Connect the forked project to your Snyk projects and leave it there.

Run the application

  • Go to the root folder of the application and run using Maven
mvn spring-boot:run
  • The application fills itself with data at startup wait until you see READY in the console.
  • You can access the application on http://localhost:8081
  • By default there are two users configured you can access
Username Password User type
Admin admin ADMIN
User user CUSTOMER

Assignments

Assignment 1

Even without logging in, you can browse the menu and search for specific items Set all prices of all product to 0.00 so everything is for FREE, using the searchbox.

Fix the issue the appropriate way

Assignment 2

Create a link that displays the JSESSIONID

Execute some JavaScript that displays the JSESSIONID when someone opens a specific product page. This means the script will NOT be part of the URL like in part1

Fix the issue the appropriate way

Assignment 3

Update your libraries to versions without vulnerabilities.

Ignore dependencies we cant fix.

Fix as many of the code issues that are left.

Update the encryption used to store the passwords

dvxuk23-sc-minilab's People

Contributors

bmvermeer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.