BasicDBObject.parse() 是否可以抵御 NoSQL 注入攻击?

Is BasicDBObject.parse() secure against NoSQL injection attacks?

我正在使用 mongo-java-驱动程序连接到我的 MongoDB。 所以我的问题是关于将 MongoDB 与 Java 客户端一起使用:

MongoDB documentation describes a strict mode:

OWASP guide 描述了几种 MongoDB 注入攻击。 目前尚不清楚 BasicDBObject.parse() 是否对输入本身进行了清理。

  1. com.mongodb.BasicDBObject.parse() 对 NOSQL 注入不安全
  2. 消毒对于对抗一般的注入是一件好事,但还不够
  3. 这里有一些对抗 NOSQL 注入的 OWASP 指南:https://www.owasp.org/index.php/Injection_Prevention_Cheat_Sheet_in_Java#Example_-_MongoDB

如果您想对查询进行参数化,我建议您看看 Hibernate OGM:http://hibernate.org/ogm/documentation/。参数化是对抗注入的唯一解决方案