NoSQL Injection
hackingDéfinition
Injection dans des bases NoSQL (MongoDB, CouchDB) via manipulation d'opérateurs JSON ($where, $gt, $regex) contournant l'authentification ou exfiltrant des données.
Description
Les injections NoSQL ciblent des bases comme MongoDB via la manipulation d'opérateurs JSON. Des payloads utilisant des opérateurs comme $gt, $ne ou $where permettent de contourner l'authentification ou d'exfiltrer des collections entières de données.
Exploitation
Un payload {"password": {"$gt": ""}} retourne true pour tout mot de passe non vide dans MongoDB. L'opérateur $where permet d'exécuter des fonctions JavaScript arbitraires lors de l'évaluation des requêtes, menant à une exfiltration de données ou un DoS.
Défense
- Valider et typer strictement toutes les entrées avant de construire des requêtes NoSQL
- Désactiver les opérateurs $where et les fonctions JavaScript dans la configuration MongoDB
- Utiliser des ODM avec validation de schéma (Mongoose) pour rejeter les structures d'opérateurs inattendues
Besoin d'un expert sur ce sujet ?
Audit, pentest, conformité ISO 27001, développement IA sécurisé — demandez un devis gratuit.
Demander un devis