NoSQL – Security Vulns test

1. Encryption/authetication
2. NoSQL-injecctions
https://github.com/tcstool/NoSQLMap
A. eval, setTimeout

A1 – Injection

Server Side JavaScript Injection – SSJI

– Server Injection
eval, setTimeout, setInterval
setTimeout och setInterval använder båda eval, därför är de dåliga att använda.

Om man sätter några av dom att tolka user input så ger man i princip total kontroll över ALLT som kan ske på servern. Du kan injecta kod, som du sen kör.
Lösning:
Använd JSON.parse() istället. Mycket säkrare. Eval är snabbare, men galet mycket farligare.

Använd ‘use strict’

Att göra:
a. Kontrollera så att vi aldrig använder ovan nämna funktioner under dessa omständigheter.
b. Använd alltid ‘use strict’.

Vidare läsning:
http://arxiv.org/pdf/1506.04082.pdf

2. NoSQL-injection
– MongoDB injection

Lösning: validera/sanitizea all input.

Att göra:
a. Validera/sanitizea all input.

A2-Broken Authentication and Session Management

http://arxiv.org/pdf/1506.04082.pdf

Deploya en app – Olika sätt

https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps
1. Logga in på VPS.
2. Skapa git init –bare i vps.
3. Gå till hooks, skapa filen post-receive
4. Lägg till följande

#!/bin/sh
git --work-tree=/var/www/domain.com --git-dir=/var/repo/site.git checkout -f

5. chmod +x post-receive
6. git remote add live ssh://user@mydomain.com/var/repo/site.git
7. git push live master