mongoDB注入

Mar*_*ark 12 java code-injection mongodb

Java中是否存在一种避免mongoDB注入攻击的常见模式?

谢谢

The*_*heo 17

使用其中一个支持的驱动程序.不要反序列化字符串作为JSON,并通过他们的查询,如不"做到这一点(在Ruby中):

collection.send(query_type, JSON.parse(parameters))
Run Code Online (Sandbox Code Playgroud)

其中,query_typeparameters都是字符串从表单来的.尽管如此,你必须犯下愚蠢的罪行.

由于没有这样的查询语言,因此没有相同的注射空间.那SQL注入攻击是可能的,部分原因是要采取的操作(SELECT,UPDATE,DELETE等)的查询字符串的一部分.MongoDB的,和许多其他新的数据库,不能正常工作那样,而不是动作是API的一部分.当SQL司机只有query在某些情况下exec,MongoDB的有find,update,insertremove.


TTT*_*TTT 5

您可以在where子句中使用Javascript构建MongoDB查询,这里可以进行注入.这里解释如何防止这种情况:http://www.mongodb.org/display/DOCS/Do+I+Have+to+Worry+About+SQL+Injection