• Stars
    star
    406
  • Rank 103,143 (Top 3 %)
  • Language
    JavaScript
  • License
    Other
  • Created almost 8 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A very vulnerable web site written in NodeJS with the purpose of have a project with identified vulnerabilities to test the quality of security analyzers tools tools

Vulnerable Node

Logo

Vulnerable Node: A very vulnerable web site written in NodeJS

Codename PsEA
Version 1.0
Code https://github.com/cr0hn/vulnerable-node
Issues https://github.com/cr0hn/vulnerable-node/issues/
Author Daniel Garcia (cr0hn) - @ggdaniel

Support this project

Support this project (to solve issues, new features...) by applying the Github "Sponsor" button.

What's this project?

The goal of this project is to be a project with really vulnerable code in NodeJS, not simulated.

Why?

Similar project, like OWASP Node Goat, are pretty and useful for learning process but not for a real researcher or studding vulnerabilities in source code, because their code is not really vulnerable but simulated.

This project was created with the purpose of have a project with identified vulnerabilities in source code with the finality of can measure the quality of security analyzers tools.

Although not its main objective, this project also can be useful for:

  • Pentesting training.
  • Teaching: learn how NOT programming in NodeJS.

The purpose of project is to provide a real app to test the quality of security source code analyzers in white box processing.

How?

This project simulates a real (and very little) shop site that has identifiable sources points of common vulnerabilities.

Installation

The most simple way to run the project is using docker-compose, doing this:

# git clone https://github.com/cr0hn/vulnerable-node.git vulnerable-node
# cd vulnerable-node/
# docker-compose build && docker-compose up
Building postgres_db
Step 1 : FROM library/postgres
---> 247a11721cbd
Step 2 : MAINTAINER "Daniel Garcia aka (cr0hn)" <[email protected]>
---> Using cache
---> d67c05e9e2d5
Step 3 : ADD init.sql /docker-entrypoint-initdb.d/
....

Running

Once docker compose was finished, we can open a browser and type the URL: 127.0.0.1:3000 (or the IP where you deployed the project):

Login screen

To access to website you can use displayed in landing page:

  • admin : admin
  • roberto : asdfpiuw981

Here some images of site:

home screen

shopping

purchased products

Vulnerabilities

Vulnerability list:

This project has the most common vulnerabilities of OWASP Top 10 <https://www.owasp.org/index.php/Top_10_2013-Top_10>:

  • A1 - Injection
  • A2 - Broken Authentication and Session Management
  • A3 - Cross-Site Scripting (XSS)
  • A4 - Insecure Direct Object References
  • A5 - Security Misconfiguration
  • A6 - Sensitive Data Exposure
  • A8 - Cross-Site Request Forgery (CSRF)
  • A10 - Unvalidated Redirects and Forwards

Vulnerability code location

The exactly code location of each vulnerability is pending to write

References

I took ideas and how to explode it in NodeJS using these references:

License

This project is released under license BSD.

More Repositories

1

dockerscan

Docker security analysis & hacking tools
Python
1,303
star
2

aiotasks

A Celery like task manager that distributes Asyncio coroutines
Python
428
star
3

nosqlinjection_wordlists

This repository contains payload to test NoSQL Injections
333
star
4

festin

FestIn - Open S3 Bucket Scanner
Python
200
star
5

aiohttp-swagger

Swagger API Documentation builder for aiohttp server
JavaScript
185
star
6

enteletaor

Message Queue & Broker Injection tool
Python
144
star
7

dockerfile-security

Static security checker for Dockerfiles
Python
88
star
8

aiohttp-cache

A cache system for aiohttp server
Python
44
star
9

openvas_to_report

OpenVAS2Report: A set of tools to manager OpenVAS XML report files.
Python
39
star
10

PyDiscover

PyDiscover: Simple Secure and Lightweight Python Service Discovery
Python
38
star
11

ktcal2

SSH brute forcer tool and library, using AsyncIO of Python 3.4
Python
35
star
12

rsm

Redis Security Map - Anti-hacking for Redis
Python
33
star
13

OMSTD

Open Methodology for Security Tool Developers
25
star
14

EasyLogs

The simple, agnostic and lightweight logging dashboard
CSS
24
star
15

info2cpe

Library to convert a information text (server banner, for example) into CPE v2.3 value
Python
21
star
16

golismero-legacy

THIS IS A LEGACY VERSION PRESERVED FOR BACKUP, DO NOT USE
Python
15
star
17

CodernityDB3

An intent to port CodernityDB to Python 3
Python
15
star
18

wordpress-docker-sec

Anti-hacking tools deploying configuration for Wordpress
Shell
12
star
19

nginx-wordpress-docker-sec

Anti-hacking tools deployment config of Nginx for Wordpress
HTML
11
star
20

pyservice-registry

Simple Secure and Lightweight Service Registry in pure Python
Python
10
star
21

realtime-redis-backup

Realtime backup Redis data to S3
Python
10
star
22

UnderFucking

A Django based web page to test your security tools
Python
9
star
23

nmap-fingerprinting

Apply the Nmap fingerprinting rules, without launch Nmap
Python
7
star
24

python-object-watchdog

Watching for runtime changes in Python objects and launch callbacks
Python
6
star
25

pypow

Python version of Kapow! - PyPow! is the easy way to expose any cli command as a REST API
Python
5
star
26

python-dictionary-search

Search recursively data in a Python dictionary
Python
5
star
27

python-pipes

Helpers to manage stdin / stdout and UNIX pipes
Python
5
star
28

rancher-upgrader

Small utility to upgrade Rancher Services
Python
4
star
29

feed-to-exporter

Get RSS Feed and export as Wordpress Post
Python
4
star
30

BO

Hide information into boolean.io service
Python
3
star
31

BaZIN

FreeBSD deployer and configurer script
Shell
3
star
32

docker-signatures

Docker signatures ensure that a Docker Image has all signatures
Python
3
star
33

docker-nginx

Fork of Docker nginx with some customizations and optimizations
HTML
2
star
34

dnscapy

Automatically exported from code.google.com/p/dnscapy
Python
2
star
35

kali-docker-ssh

Shell
2
star
36

woocommerce-subscription-check

Check user subscriptions in Woocommerce without have and admin role
Python
2
star
37

python-database-watcher

Multi database watcher for changes on them
Python
2
star
38

pylli

Automatically exported from code.google.com/p/pylli
HTML
1
star
39

franki

Micro-services deployment as a configuration
Python
1
star
40

cr0hn.github.com

Personal blog to write in it when I have head in the clouds
HTML
1
star
41

pretty-dev-docs-github

Pretty Developer Docs for GitHub (PDDG): Easy builder develop documentation, user manuals & beautiful website using GitHub pages
HTML
1
star
42

docker-aws-lambda-38

Docker Image with AWS Lambda Linux with Python 3.8 environment
Dockerfile
1
star
43

cybercamp2017

Scripts de ejemplo del taller de Cybercamp
Python
1
star
44

python3.6-alpine-make

Python alpine image with make utils
Dockerfile
1
star
45

cookiecutter-security-tool

Cookie cutter template: provides a command line tool structure for a Python project
Python
1
star
46

python-dynamic-plugins

Python plugin system with dynamic loading of plugins
Python
1
star