OWASP/NodeGoat

Name: NodeGoat

Owner: OWASP

Description: The OWASP NodeGoat project provides an environment to learn how OWASP Top 10 security risks apply to web applications developed using Node.js and how to effectively address them.

Created: 2013-10-21 19:14:52.0

Updated: 2018-01-17 22:03:50.0

Pushed: 2017-12-26 21:19:44.0

Homepage: https://www.owasp.org/index.php/Projects/OWASP_Node_js_Goat_Project

Size: 7980

Language: HTML

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

NodeGoat

Being lightweight, fast, and scalable, Node.js is becoming a widely adopted platform for developing web applications. This project provides an environment to learn how OWASP Top 10 security risks apply to web applications developed using Node.js and how to effectively address them.

Getting Started

OWASP Top 10 for Node.js web applications:

Know it!

Tutorial Guide explaining how each of the OWASP Top 10 vulnerabilities can manifest in Node.js web apps and how to prevent it.

Do it!

A Vulnerable Node.js App for Ninjas to exploit, toast, and fix. You may like to set up your own copy of the app to fix and test vulnerabilities. Hint: Look for comments in the source code.

Default user accounts

The database comes pre-populated with these user accounts created as part of the seed data -

How to Setup Your Copy of NodeGoat
OPTION 1 - One click install on Heroku

The the quickest way to get running with NodeGoat is to click the button below to deploy it on Heroku.

Even though it is not essential, but recommended that you fork this repository and deploy the forked repo. This would allow you to fix vulnerabilities in your own forked version, and deploy and test it on heroku.

Deploy

This Heroku instance uses Free ($0/month) node server and MongoLab add-on.

OPTION 2 - Run NodeGoat on your machine

If you do not wish to run NodeGoat on Heroku, please follow these steps to setup and run it locally -

*go to the directory

odeGoat
OPTION 3 - Run NodeGoat on Docker

You need to install docker and docker compose to be able to use this option

The repo includes the Dockerfile and docker-compose.yml necessary to setup the app and the db instance then connect them together.

Customizing the Default Application Configuration

The default application settings (database url, http port, etc.) can be changed by updating the config file.

Report bugs, Feedback, Comments
Contributing

Contributions from community are key to make NodeGoat a high quality comprehensive resource. Lets make NodeGoat awesome together!

Ways to Contribute

Depending on your preference, you can contribute in various ways. Here are tasks planned for upcoming release. You can also open an issue, sending a PR, or get in touch on Gitter Chat or Slack

If sending PR, once code is ready to commit, run:

run precommit

This command uses js-beautifier to indent the code and verifies these coding standards using jsHint. Please resolve all jsHint errors before committing the code.

Contributors

Here are the amazing contributors to the NodeGoat project.

Supports

JetBrains

License

Code licensed under the Apache License v2.0.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.