sql >> Base de Datos >  >> NoSQL >> MongoDB

inyección mongoDB

Utilice uno de los controladores admitidos. No deserialice cadenas como JSON y páselas como consultas, p. no hagas esto (en Ruby):

collection.send(query_type, JSON.parse(parameters))

donde query_type y parameters son cadenas que provienen de un formulario. Sin embargo, tendrías que ser criminalmente estúpido para hacer esto.

Dado que no hay un lenguaje de consulta como tal, no hay el mismo espacio para la inyección. Parte de la razón por la que los ataques de inyección SQL son posibles es que la acción a realizar (SELECT , UPDATE , DELETE , etc.) es parte de la cadena de consulta. MongoDB y muchas otras bases de datos más nuevas no funcionan así, sino que la acción es parte de la API. Donde los controladores SQL solo tienen query y en algunos casos exec , MongoDB tiene find , update , insert y remove .