MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

mongoDB-Injektion

Verwenden Sie einen der unterstützten Treiber. Strings nicht als JSON deserialisieren und als Abfragen übergeben, z. tun Sie dies nicht (in Ruby):

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

wobei query_type und parameters sind Strings, die aus einem Formular kommen. Dazu müsste man allerdings kriminell dumm sein.

Da es keine Abfragesprache als solche gibt, gibt es nicht denselben Raum für Injektionen. Ein Grund dafür, dass SQL-Injection-Angriffe möglich sind, liegt unter anderem darin, dass die auszuführende Aktion (SELECT , UPDATE , DELETE usw.) ist Teil der Abfragezeichenfolge. MongoDB und viele andere neuere Datenbanken funktionieren nicht so, stattdessen ist die Aktion Teil der API. Wobei SQL-Treiber nur query haben und in manchen Fällen exec , MongoDB hat find , update , insert und remove .