it-swarm.com.de

Welche Art von Angriffen kann gegen MongoDB eingesetzt werden?

Ich fange an, MongoDB zu lernen und war neugierig, ob es für eine Art Injektionsangriff ähnlich wie SQLi anfällig ist. Aufgrund der Art der Datenbank glaube ich nicht , dass Sie in sie injizieren können, sondern ... Welche anderen Arten von Angriffen können gegen MongoDB eingesetzt werden? ?

22
Digital fire

nsichere direkte Objektreferenz

Client-seitige Durchsetzung der serverseitigen Sicherheit

Serverseitige JavaScript-Injektion

Auch MongoDB sollte für die Öffentlichkeit nicht bewertbar sein. Es kann passwortgeschützt sein und Passwörter können brutal erzwungen werden. Clientseitige JS können direkt mit MongoDB kommunizieren, und MongoDB kann einzelne Benutzer authentifizieren. Ihr Authentifizierungssystem ist jedoch zu einfach, und in der Praxis habe ich nur gesehen, dass dieses Design fehlschlägt.

14
rook

Es gibt Injektionsangriffe gegen MongoDB, die jedoch durch die Verwendung geeigneter Datenadapterbibliotheken weitgehend abgeschwächt werden. Es ist jedoch wichtig zu wissen, dass es möglich ist, auf verschiedene Arten zu injizieren.

Das erste, worauf Sie achten müssen, sind Fälle, in denen Sie mithilfe von Benutzereingaben dynamisch einen $where Mit JavaScript erstellen. Durch Ändern ihrer Eingaben können sie möglicherweise Ihre Abfrage ändern. Das zweite Problem, das Sie behandeln müssen, ist das Einfügen von Operatoren wie $or (Oder Parametern für solche Operatoren), die das Verhalten der Abfrage ändern können. Beides wird dadurch gemindert, dass keine Methoden im Verkettungsstil verwendet werden, sondern Bibliotheken verwendet werden, die mit Datenstrukturen arbeiten (z. B. JSON).

Es kann auch möglich sein, dem $ Vor einem Operator zu entkommen, um alternative Operatoren bereitzustellen. Stellen Sie sicher, dass Sie den Schlüsseln ordnungsgemäß entkommen, wenn darin Benutzerdaten verwendet werden.

Alles in allem würde ich Dinge wie NodeJS für alles vermeiden, was sicherheitskritisch ist. Es wurde nicht mit Blick auf Sicherheit entwickelt und ist ein junges Projekt. Wenn Sie MongoDB aus einer anderen Sprache verwenden, ist das in Ordnung.

Weitere Informationen finden Sie unter FAQ zu MongoDB .

7
Polynomial

Die erste Sicherheitsanfälligkeit, die der SQL-Injektion ähnelt, kann auch in Mongodb- oder NOSQL-Datenbanken auftreten. Das wäre eine Mongodb-Injektion.

Versuchen Sie, mongodb stattdessen auf einem anderen Port als Standard 27017 auszuführen, um eine Belichtung zu vermeiden. Informationen zu offiziellen Sicherheitspraktiken finden Sie jederzeit unter http://docs.mongodb.org/manual/administration/security/

Hier werden Sicherheitspraktiken beschrieben, die mit Mongodb-Servern verwendet werden sollten.

Mongodb-Injektion:

es beschreibt hier vollständig für PHP, wie die Mongodb-Injektion in PHPWEBAP stattfinden kann, wenn clientseitige Daten nicht richtig gefiltert werden. Auch Lösung zur Mongodb-Injektion

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

Mongodb Null-Byte-Injektionsangriff

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

Dies ist auch eine Art von Angriff, der auf dieser Site gut geschrieben ist. Sehen Sie sich an, wie bestimmte Felder in der Mongo-Sammlung mit dieser Methode überschrieben werden können. Dies kann in jeder Webanwendung erfolgen.

3
Abhishek

Das Tool NoSQLMap enthält viele Funktionen, die direkt auf MongoDB abzielen.

https://github.com/tcstool/NoSQLMap

Es gibt ein noch besseres Video, das alle Arten von Angriffen zeigt.

Sie werden auch feststellen, dass NoSQLMap das Metasploit-Framework aufruft, z. B. Exploit/Linux/Misc/Mongod_Native_Helper

Das Projekt schlägt auch eine Besichtigung dieses DEF CON-Vortrags vor - https://www.defcon.org/images/defcon-21/dc-21-presentations/Chow/DEFCON-21-Chow-Abusing-NoSQL -Databases.pdf

Ein weiteres Tool ist das Nosql Exploitation Framework

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

Und noch eine auf GitHub hier - https://github.com/cyberpunkych/attacking_mongodb

Es stellt sich heraus, dass MongoDB einige fehlerhafte Standardeinstellungen (z. B. anonymer Zugriff, /var/mongo/f.txt oder Standarddateispeicherorte usw.), leicht zu erratende, wenn auch geänderte Einstellungen und klassische Probleme aufweist as Webprobleme .

2
atdre