it-swarm.dev

Che tipo di attacchi può essere utilizzato contro MongoDB?

Sto iniziando a imparare MongoDB ed ero curioso di sapere se fosse suscettibile a un tipo di attacco di iniezione simile a SQLi . A causa della natura del DB, non credo pensare che ci si possa iniettare ma ... Quale altro tipo di attacchi può essere sfruttato contro MongoDB ?

22
Digital fire

Riferimento diretto diretto non sicuro

Applicazione lato client della sicurezza lato server

Iniezione JavaScript lato server

Anche MongoDB non dovrebbe essere valutabile al pubblico. Può essere protetto da password e le password possono essere forzate. I client lato js possono comunicare direttamente con MongoDB e MongoDB può autenticare i singoli utenti. Tuttavia, il loro sistema di autenticazione è eccessivamente semplicistico e in pratica ho visto fallire solo questo progetto.

14
rook

Esistono attacchi di iniezione contro MongoDB, ma questi sono in gran parte mitigati dall'uso di librerie di adattatori dati adeguate. Tuttavia, vale la pena sapere che è possibile iniettare in alcuni modi.

La prima cosa che devi cercare sono i casi in cui costruisci dinamicamente un $where con JavaScript, utilizzando l'input dell'utente. Modificando i loro input, potrebbero essere in grado di modificare la tua query. Il secondo problema che devi affrontare è l'iniezione di operatori come $or (o parametri per tali operatori) che possono alterare il comportamento della query. Entrambi sono mitigati non usando metodi di concatenazione, ma invece usando librerie che funzionano su strutture di dati (ad esempio JSON).

Potrebbe anche essere possibile sfuggire a $ che precede un operatore, al fine di fornire operatori alternativi. Assicurati di sfuggire correttamente alle chiavi se vengono utilizzati i dati dell'utente.

Tutto sommato, eviterei cose come NodeJS per qualsiasi aspetto critico per la sicurezza. Non è stato progettato pensando a nessuna forma di sicurezza ed è un progetto giovane. Se stai consumando MongoDB da una lingua diversa, va bene.

Per maggiori dettagli, vedi FAQ di MongoDB .

7
Polynomial

La prima vulnerabilità simile all'iniezione sql può essere fatta anche nei database mongodb o nosql. quale sarebbe l'iniezione di mongodb.

Prova a eseguire mongodb su una porta diversa anziché sul 27017 predefinito per evitare l'esposizione. Per le pratiche di sicurezza ufficiali puoi sempre consultare http://docs.mongodb.org/manual/administration/security/

Indica le pratiche di sicurezza che dovrebbero essere utilizzate con il server mongodb.

Iniezione Mongodb:

viene qui descritto per php come l'iniezione di mongodb può avvenire in phpwebapp se i dati lato client non vengono filtrati correttamente. Anche soluzione per iniezione mongodb

http://www.idontplaydarts.com/2010/07/mongodb-is-vulnerable-to-sql-injection-in-php-at-least/

Mongodb Attacco con iniezione di byte nulli

http://www.idontplaydarts.com/2011/02/mongodb-null-byte-injection-attacks/

Questo è anche un tipo di attacco che è ben scritto su questo sito. Dai un'occhiata a come alcuni campi nella raccolta di mongo possono essere sovrascritti usando questo metodo, questo può essere fatto in qualsiasi webapp.

3
Abhishek

Lo strumento NoSQLMap include molte funzionalità destinate direttamente a MongoDB.

https://github.com/tcstool/NoSQLMap

È disponibile un video ancora migliore che mostra tutti i tipi di attacchi.

Scoprirai inoltre che NoSQLMap chiama il framework metasploit, ad esempio exploit/linux/misc/mongod_native_helper

Il progetto suggerisce anche una visione di questo discorso DEF CON - https://www.defcon.org/images/defcon-21/dc-21-presentations/Chow/DEFCON-21-Chow-Abusing-NoSQL -Databases.pdf

Un altro strumento è il Nosql Exploitation Framework

https://github.com/torque59/Nosql-Exploitation-Framework

E ancora un altro su GitHub qui - https://github.com/cyberpunkych/attacking_mongodb

Si scopre che MongoDB ha alcune impostazioni predefinite errate (ad esempio, accesso anonimo, /var/mongo/f.txt o posizioni dei file predefinite, ecc.), Indovinabili anche se impostazioni modificate e problemi classici pure come problemi sul web .

2
atdre