
Applicazione NodeJS Dannatamente Vulnerabile

Damn Vulnerable NodeJS Application (DVNA) è una semplice applicazione NodeJS per dimostrare le Vulnerabilità OWASP Top 10 e guidare nella correzione e nell'evitamento di queste vulnerabilità. Il ramo fixes conterrà le correzioni per le vulnerabilità. Le correzioni per le vulnerabilità OWASssP Top 10 2017 si trovano nel ramo fixes-2017.
L'applicazione è basata su librerie comunemente usate come express, passport, sequelize, ecc.
L'applicazione include una guida completa e adatta agli sviluppatori che può essere utilizzata per apprendere, evitare e correggere le vulnerabilità. La guida è disponibile in docs e copre i seguenti argomenti:
Il post del blog per questo rilascio è disponibile su https://blog.appsecco.com/damn-vulnerable-nodejs-application-dvna-by-appsecco-7d782d36dc1e
Puoi configurare un server gitbook locale per accedere alla documentazione usando i seguenti comandi. La documentazione sarà quindi accessibile su .
cd docs/
docker run --rm -v `pwd`:/gitbook -p 4000:4000 --name gitbook amontaigu/gitbook gitbook serve
Prova DVNA con un singolo comando usando Docker. Questa configurazione utilizza un database SQLite invece di MySQL.
docker run --name dvna -p 9090:9090 -d appsecco/dvna:sqlite
Accedi all'applicazione su http://127.0.0.1:9090/
DVNA può essere distribuito in tre modi
Istruzioni dettagliate sulla configurazione e sui requisiti sono fornite nella Guida Gitbook
Clona questo repository
git clone https://github.com/appsecco/dvna; cd dvna
Crea un file vars.env con la configurazione del database desiderata
MYSQL_USER=dvna
MYSQL_DATABASE=dvna
MYSQL_PASSWORD=passw0rd
MYSQL_RANDOM_ROOT_PASSWORD=yes
Avvia l'applicazione e il database usando docker-compose
docker-compose up
Accedi all'applicazione su http://127.0.0.1:9090/
L'applicazione si ricaricherà automaticamente in caso di modifiche al codice, quindi sentiti libero di modificare e sperimentare con l'applicazione.
Crea un file chiamato vars.env con la seguente configurazione
MYSQL_USER=dvna
MYSQL_DATABASE=dvna
MYSQL_PASSWORD=passw0rd
MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_HOST=mysql-db
MYSQL_PORT=3306
Avvia un container MySQL
docker run --rm --name dvna-mysql --env-file vars.env -d mysql:5.7
Avvia l'applicazione usando l'immagine ufficiale
docker run --rm --name dvna-app --env-file vars.env --link dvna-mysql:mysql-db -p 9090:9090 appsecco/dvna
Accedi all'applicazione su http://127.0.0.1:9090/ e inizia a testare!
Clona il repository
git clone https://github.com/appsecco/dvna; cd dvna
Configura le variabili d'ambiente con le informazioni del tuo database
export MYSQL_USER=dvna
export MYSQL_DATABASE=dvna
export MYSQL_PASSWORD=passw0rd
export MYSQL_HOST=127.0.0.1
export MYSQL_PORT=3306
Installa le dipendenze
npm install
Avvia l'applicazione
npm start
Accedi all'applicazione su http://localhost:9090
In caso di bug nell'applicazione, per favore crea un issue su GitHub. Le pull request sono benvenute!
Abhisek Datta - abhisek per l'architettura dell'applicazione e il codice front-end
MIT