NoSQL Injection (MongoDB / Elastic)
Backend pasa input a MongoDB sin sanitizar; en lugar de string envías un objeto operador.
Categoría: Web · Vectores avanzados 🎯 Trinchera — Backend pasa input a MongoDB sin sanitizar; en lugar de string envías un objeto operador.{"user":"admin","pass":{"$gt":""}}
hace match contra cualquier password.
🔗 Kill chain — Auth bypass clásico en login JSON, blind extraction
con $regex, RCE via $where en versiones viejas, NoSQLi en
ElasticSearch via script_fields.
📡 Huella defensiva — Queries con operadores en campos que
deberían ser strings; volumen anómalo de queries con $regex.
⚠️ Falso amigo — Sanitización con escape() (string SQL) no
sirve — el input ya es objeto, no string.
🛡️ Remediación — Validar tipo de cada campo (Joi, Zod, AJV),
parametrizar queries, no usar $where.
← Volver al glosario completo Última actualización: 2026-06-11