OWASP/NodeGoat
OWASP/NodeGoat has 2,084 GitHub stars and 3,167 forks. GitHot measured 0 stars in 24 hours and -1 in 7 days. Last checked 2026-11-13 20:49 UTC. Last push 2024-06-15.
Gemessener Sternzuwachs
- in 24h
- 0
- in 7 days
- -1
- in 15 days
- Verlauf wird gesammelt
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
Über uns
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.
EntwicklerwerkzeugeREADME.md
OriginalNodeGoat
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!
This application bundled a tutorial page that explains the OWASP Top 10 vulnerabilities and how to fix them.
Once the application is running, you can access the tutorial page at http://localhost:4000/tutorial (or the port you have configured).
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 -
- Admin Account - u:
adminp:Admin_123 - User Accounts (u:
user1p:User1_123), (u:user2p:User2_123) - New users can also be added using the sign-up page.
How to Set Up Your Copy of NodeGoat
OPTION 1 - Run NodeGoat on your machine
Install Node.js - NodeGoat requires Node v8 or above
Clone the github repository:
git clone https://github.com/OWASP/NodeGoat.gitGo to the directory:
cd NodeGoatInstall node packages:
npm installSet up MongoDB. You can either install MongoDB locally or create a remote instance:
Using local MongoDB:
- Install MongoDB Community Server
- Start mongod
Using remote MongoDB instance:
- Deploy a MongoDB Atlas free tier cluster (M0 Sandbox)
- Enable network access to the cluster from your current IP address
- Add a database user to the cluster
- Set the
MONGODB_URIenvironment variable to the connection string of your cluster, which can be viewed in the cluster's connect dialog. Select "Connect your application", set the driver to "Node.js" and the version to "2.2.12 or later". This will give a connection string in the form:
Themongodb://<username>:<password>@<cluster>/<dbname>?ssl=true&replicaSet=<rsname>&authSource=admin&retryWrites=true&w=majority<username>and<password>fields need filling in with the details of the database user added earlier. The<dbname>field sets the name of the database nodegoat will use in the cluster (eg "nodegoat"). The other fields will already be filled in with the correct details for your cluster.
Populate MongoDB with the seed data required for the app:
npm run db:seedBy default this will use the "development" configuration, but the desired config can be passed as an argument if required.
Start the server. You can run the server using node or nodemon:
- Start the server with node. This starts the NodeGoat application at http://localhost:4000/:
npm start - Start the server with nodemon, which will automatically restart the application when you make any changes. This starts the NodeGoat application at http://localhost:5000/:
npm run dev
- Start the server with node. This starts the NodeGoat application at http://localhost:4000/:
Customizing the Default Application Configuration
By default the application will be hosted on port 4000 and will connect to a MongoDB instance at localhost:27017. To change this set the environment variables PORT and MONGODB_URI.
Other settings can be changed by updating the config file.
OPTION 2 - Run NodeGoat on Docker
The repo includes the Dockerfile and docker-compose.yml necessary to set up the app and db instance, then connect them together.
Install docker and docker compose
Clone the github repository:
git clone https://github.com/OWASP/NodeGoat.gitGo to the directory:
cd NodeGoatBuild the images:
docker-compose buildRun the app, this starts the NodeGoat application at http://localhost:4000/:
docker-compose up
OPTION 3 - Deploy to Heroku
This option uses a free ($0/month) Heroku node server.
Though not essential, it is recommended that you fork this repository and deploy the forked repo. This will allow you to fix vulnerabilities in your own forked version, then deploy and test it on Heroku.
Set up a publicly accessible MongoDB instance:
- Deploy a MongoDB Atlas free tier cluster (M0 Sandbox)
- Enable network access to the cluster from anywhere (CIDR range 0.0.0.0/0)
- Add a database user to the cluster
Deploy NodeGoat to Heroku by clicking the button below:
In the Create New App dialog, set the
MONGODB_URIconfig var to the connection string of your MongoDB Atlas cluster. This can be viewed in the cluster's connect dialog. Select "Connect your application", set the driver to "Node.js" and the version to "2.2.12 or later". This will give a connection string in the form:mongodb://<username>:<password>@<cluster>/<dbname>?ssl=true&replicaSet=<rsname>&authSource=admin&retryWrites=true&w=majorityThe
<username>and<password>fields need filling in with the details of the database user added earlier. The<dbname>field sets the name of the database nodegoat will use in the cluster (eg "nodegoat"). The other fields will already be filled in with the correct details for your cluster.
Report bugs, Feedback, Comments
Contributing
Please Follow the contributing guide
Code Of Conduct (CoC)
This project is bound by a Code of Conduct.
Contributors
Here are the amazing contributors to the NodeGoat project.
Supports
- Thanks to JetBrains for providing licenses to fantastic WebStorm IDE to build this project.
License
Code licensed under the Apache License v2.0.
Ähnliche Projekte entdecken
codecrafters-io/build-your-own-x
Meistere das Programmieren, indem du deine Lieblingstechnologien von Grund auf neu erschaffst.
562,341 Sternepublic-apis/public-apis
Eine gemeinschaftliche Liste kostenloser APIs
498,781 Sternemorluto/rea
Mit Agenten alles per Reverse Engineering untersuchen, vom Verhalten der Anwendung bis hin zu nativen Binärdateien.
457,569 Sterneopenclaw/openclaw
Die KI, die wirklich Dinge erledigt. Jedes Betriebssystem, jede Plattform. Auf die Hummer-Art. 🦞
394,396 Sterne