Giter VIP home page Giter VIP logo

damn-vulnerable-web-apps's Introduction

damn-vulnerable-web-apps

This project is a collection of vulnerable web apps, and a tiny framework that allows to quickly deploy them using Docker. I have either developed a few of these apps to demonstrate basic concepts (e.g., sql/nosql injections), or borrowed them elsewhere (e.g., the OWASP's NodeGoat project and Wordpress 3.2).

These vulnerable apps should be used for learning basic concepts of web security. Feel free to clone this project and/or add your own apps of interest.

The structure of the project is as follows:

  • The "apps" folder contains a collection of vulnerable apps, where each individual app folder contains the zipped sources of an app, as well the Docker files that are needed to deploy it.

  • The "run.py" file serves as the main entry point for deploying the apps (e.g., you only need to run this script and specify the app of interest, and internal/external Docker ports, see some examples below).

Installation

You don't need to install anything apart from Python 3.7.x and Docker 19.03.x (I used with these versions on my machine, but older versions should work fine as well). For Docker with Linux, make sure that your user accound is a member of the "docker" group, otherwise just execute the "run.py" script with 'sudo'.

When you deploy an app for the first time, it may take a while for Docker to build a corresponding image. (however, this will be done only once for each app).

Apps that are currently available

  • OWASP NodeGoat https://www.owasp.org/index.php/Projects/OWASP_Node_js_Goat_Project

  • WordPress 3.2 -- a very old version of Wordpress that has been released back in 2011 and should contain plenty of vulnerabilities.

  • Honeypot -- a simple Node.js app that saves to a MongoDB database parts of the user query (can be used to demonstrate CSRF and XSS attacks).

  • Nosqlinjection -- a simple Node.js app that has a NoSQL injection flaw.

  • Sqlinjection -- a simple Node.js app that has a SQL injection flaw.

  • Xssreflected -- a simple Node.js app for demonstrating how reflected XSS attacks work (can be used in conjunction with Honeypot).

Examples

./run.py nodegoat 8888 88

The above command will deploy the NodeGoat app with Docker. To start playing with the app, open your web browser and navigate to "http://localhost"

Adding more apps

  • Take the sources/executables of a vulnerable app and compress them into a .zip archive.
  • Create a set of Docker files for deploying the app
  • Place everything into the "apps/<application_name>" folder
  • Run as "./run.py <application_name> <guest_port> <host_port>"
  • Access via "localhost:<host_port>" using a web browser
  • (feel free to look at the sources to learn more how all this stuff works)

damn-vulnerable-web-apps's People

Contributors

standash 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.