图形数据库是否有任何漏洞(如果具体,那么尤其是 Neo4j v2.0 ),如基于SQL的数据库中的SQL注入以及如何在实施时克服它们?
答案 0 :(得分:5)
与SQL一样,如果使用String连接,Cypher也会以同样的方式受到攻击。要解决这种parameters in Cypher的使用至关重要。
答案 1 :(得分:3)
您尚未指定使用的API和驱动程序。
如果您自己构建Cypher查询,请确保使用Cypher parameters:
{
"query" : "MATCH (x {name: {startName}})-[r]-(friend) WHERE friend.name = {name} RETURN TYPE(r)",
"params" : {
"startName" : "I",
"name" : "you"
}
}
如果您使用驱动程序构建Cypher查询,我猜驱动程序会为您解决这个问题,但您可能需要查看特定文档。
答案 2 :(得分:1)
目前还没有关于Neo4j或其他NoSQL数据库系统的已知漏洞,但我想说安全漏洞通常与使用数据库系统的应用程序有关。我的意思是Neo4j本身可以是安全的,但SQL-Injection或其他类似的东西都与应用程序有关。
例如,如果您不检查用户输入是否为数组,则攻击者可以通过NoSQL注入技术进行sql注入。更多信息:https://www.owasp.org/index.php/Testing_for_NoSQL_injection
另外你应该确定服务器端的安全性,我的意思是你应该回答这些问题;是Noe4j以正确的方式安装?凭证是否可以抵御暴力/猜测攻击?等等..