C'è un problema specifico per NodeJS, MongoDB (e alcuni altri database NoSQL che utilizzano pesantemente javascript): serveride javascript injection. Guarda here e here (pdf) per i dettagli. È più simile all'iniezione SQL rispetto all'XSS.
In breve, questo è quando l'attaccante invia javascript al tuo nodojs o mongodb quando ti aspetti solo JSON. Quindi, in teoria, il cattivo può portare il tuo servizio in down (DOS), accedere ai tuoi dati e persino al filesystem.
per prevenire tali attacchi si deve:
- Evitare di creare “ad hoc” JavaScript comandi concatenando sceneggiatura con l'input dell'utente.
- Convalida l'input dell'utente utilizzato nei comandi SSJS con le espressioni regolari.
- Evitare l'uso del comando JavaScript eval. In particolare, durante l'analisi dell'input JSON, utilizzare un'alternativa più sicura come JSON.parse.
fonte
2012-06-10 14:09:07
Credo che il principio "non fidarti di nessuno e in particolare dell'input dell'utente" sia ancora applicato ai database noSql. Ma questa è una domanda valida e pertinente, vorrebbe vedere alcune risposte. Grazie a @Jojje –