GithubHelp home page GithubHelp logo

woltage / security_ninjas_appsec_training Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lokori/security_ninjas_appsec_training

0.0 1.0 0.0 4.92 MB

Application Security Training Program

License: BSD 2-Clause "Simplified" License

HTML 11.30% PHP 11.40% JavaScript 1.65% CSS 8.92% Groff 66.70% Shell 0.02%

security_ninjas_appsec_training's Introduction

Security_Ninjas_AppSec_Training

OWASP Security Ninjas AppSec Training

Slide deck link-> https://docs.google.com/a/owasp.org/presentation/d/18Kwe3z6ggJebQ2ehlapzC6zgAZ72LjNjoWv8UFk5SCA/edit?usp=sharing

This hands-on training lab consists of 10 fun real world like hacking exercises, corresponding to each of the OWASP Top 10 vulnerabilities. Hints and solutions are provided along the way. Although the backend for this is written in PHP, vulnerabilities would remain the same across all web based languages, so the training would still be relevant even if you don’t actively code in PHP.

Making the Hands-on Lab Work:

Docker instructions

I would highly recommend that you run the training in a docker container because of the following:

  1. Setting up and destroying the environment would be super easy and quick.

  2. The docker container would be sandboxed which means that the vulnerable application wouldn’t be able to harm the host OS.

Setup:

  1. Setup docker https://docs.docker.com/installation/. There are many ways to do this depending on the OS you use.

  2. Make sure docker has been installed correctly by running ‘docker version’.

  3. Start the Application Security Training container by running the following command (I chose port 8899 to avoid port allocation conflicts): 'docker run -d -p 8899:80 opendns/security-ninjas'

  4. Get the IP address of your container: In my case the command was ‘boot2docker ip’ as I was running docker using boot2docker

  5. Go to your web browser and enter {IP address from step 4}:8899

  6. The training should be running now.

  7. Kill the container after you are done. Go back to the terminal and type ‘docker ps’. Get the container id of the training

  8. Then run ‘docker kill {container id}’

Running it using a web server:

If for some reason you are not able to run the training in a docker container, you may also run it using a web server.

  1. Download a web server (like Apache) and PHP.

  2. Download the source code from here and put it in the directory where the web server looks for files to serve.

  3. In the Security Ninjas sub-directory, change text file permissions - 'chmod 777 *.txt'

  4. Make sure WHOIS is installed on the web server.

  5. Start the web server and reach the application from your web browser.

The following steps are optional but recommended:

  1. Install Firefox.

  2. Install the FoxyProxy plugin for Firefox. Then:

    • In select mode: Use proxy “Default” for all URLs.
    • Configure the Default proxy to use 127.0.0.1:8080.
  3. You can delete or disable this plugin after the exercise.

  4. Install Burp Suite free from http://portswigger.net/burp/download.html. You could use some other proxy tool as well.

  5. You can get some basic Burp Suite tutorials from http://portswigger.net/burp/tutorials/

  6. You can turn the proxy off for most of the exercises but for some, having the intercept on would make it much easier to inspect and alter the HTTP requests.

  7. Run the training in Firefox.


Suggestions or Comments?

We would love to get some feedback! You can reach me directly at [email protected] Happy hacking!


CSS credits: html5up.net

Disobey install

  1. Run build.sh script

  2. run docker compose:

    docker-compose up -d

Now you have Nginx runnin on port 80, diffrent app servers are running in diffrent context paths: /app[1-4]/

You can scale more app nodes with command:

docker-compose scale app=10 # This will add 9 more app nodes

security_ninjas_appsec_training's People

Contributors

shrutiguptagt avatar shruti-opendns avatar anttivi-solita avatar woltage avatar

Watchers

James Cloos 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.