这是 Opensearch python 客户端中的 SQL/NoSQL/DSL 注入吗?

问题描述 投票:0回答:1

有关使用低级 Python 客户端的 Opensearch 文档位于此处

执行搜索查询时,它显示以下示例:

# Search for the document.
q = 'miller'
query = {
  'size': 5,
  'query': {
    'multi_match': {
      'query': q,
      'fields': ['title^2', 'director']
    }
  }
}

response = client.search(
    body = query,
    index = index_name
)
print('\nSearch results:')
print(response)

这是否容易受到 SQL / DSL 注入的影响?

我很惊讶没有参数化查询的示例。如果这很容易受到注入攻击,那么我想人们必须提出自己的验证来清理输入参数......

python sql-injection opensearch nosql-injection
1个回答
0
投票

这绝对不是SQL注入,因为OpenSearch不是SQL实现。

如果您的 q 变量基于不受信任的输入,您能做的最糟糕的事情就是注入

OpenSearch DSL 查询字符串
。这可能会导致 DSL 语法错误或您不希望的搜索。

这可以被视为代码注入,但不太可能造成太大危害。

© www.soinside.com 2019 - 2024. All rights reserved.