Vulnerabilidad NoSQL injection

www.onlinetis.com La NoSQL injection es una vulnerabilidad de seguridad que se produce cuando una aplicación no sanitiza correctamente la entrada del usuario antes de utilizarla para construir y ejecutar consultas en una base de datos NoSQL. Al igual que la SQL injection, esta vulnerabilidad permite a un atacante inyectar código malicioso en la consulta, alterando su lógica o extrayendo datos sensibles. ¿Cómo funciona? A diferencia de las bases de datos relacionales que utilizan SQL, las bases de datos NoSQL (como MongoDB, CouchDB o Cassandra) no tienen un lenguaje de consulta estandarizado. Sus consultas se construyen a menudo con lenguajes de programación o con objetos JSON. Un ataque de inyección NoSQL se aprovecha de esta flexibilidad. Por ejemplo, en una aplicación que utiliza MongoDB, una consulta de autenticación podría lucir así en el código: JavaScript // La variable "password" viene de la entrada del usuario const query = { username : req.body.username, pas...