MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

injeção de mongoDB


Use um dos drivers suportados. Não desserialize strings como JSON e passe-as como consultas, por exemplo. não' faça isso (em Ruby):
collection.send(query_type, JSON.parse(parameters))

onde query_type e parameters são strings provenientes de um formulário. Você teria que ser criminalmente estúpido para fazer isso.

Como não há linguagem de consulta como tal, não há o mesmo espaço para injeção. Parte da razão pela qual os ataques de injeção de SQL são possíveis é que a ação a ser tomada (SELECT , UPDATE , DELETE , etc.) faz parte da string de consulta. O MongoDB e muitos outros bancos de dados mais recentes não funcionam assim, em vez disso, a ação faz parte da API. Onde os drivers SQL têm apenas query e em alguns casos exec , o MongoDB tem find , update , insert e remove .