Injection NoSQL
Qu'est-ce que Injection NoSQL ?
Injection NoSQLAttaque par injection qui manipule les opérateurs, le JSON ou le DSL d'une base NoSQL pour contourner la logique applicative ou extraire des données.
L'injection NoSQL exploite les applications qui construisent des requêtes pour des bases documentaires ou clé-valeur (MongoDB, CouchDB, Elasticsearch) à partir d'entrées non fiables. Plutôt qu'injecter de la syntaxe SQL, l'attaquant manipule la structure JSON, des opérateurs comme $ne ou $gt, ou des fragments du langage de requête, pour s'authentifier sans identifiants, renvoyer des documents arbitraires ou déclencher l'évaluation JavaScript côté serveur quand le moteur le permet. Les variantes aveugles exfiltrent les données via un comportement booléen ou temporel. Les défenses incluent une validation stricte de schéma, le typage explicite des entrées attendues, le rejet des objets là où une chaîne est attendue, l'utilisation des constructeurs de requêtes du pilote avec opérateurs explicites et l'application du moindre privilège aux comptes de base.
● Exemples
- 01
Envoyer {"username": "admin", "password": {"$ne": null}} à un endpoint de connexion MongoDB qui compare un hash à une chaîne.
- 02
Injecter une expression JavaScript dans une clause $where pour énumérer des documents depuis un endpoint vulnérable.
● Questions fréquentes
Qu'est-ce que Injection NoSQL ?
Attaque par injection qui manipule les opérateurs, le JSON ou le DSL d'une base NoSQL pour contourner la logique applicative ou extraire des données. Cette notion relève de la catégorie Attaques et menaces en cybersécurité.
Que signifie Injection NoSQL ?
Attaque par injection qui manipule les opérateurs, le JSON ou le DSL d'une base NoSQL pour contourner la logique applicative ou extraire des données.
Comment se défendre contre Injection NoSQL ?
Les défenses contre Injection NoSQL combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Injection NoSQL ?
Noms alternatifs courants : NoSQLi.