使用c#nest客户端时elasticsearch代码注入

kxe2p93d  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(0)|浏览(215)

我担心用户可能会在我的elasticsearch cluser中执行恶意代码,例如,通过执行昂贵的查询来删除索引或关闭服务器。根据这个答案,这个问题在理论上确实存在。
我们的elasticsearch集群只能从dotnet后端服务器访问,我们使用elasticsearch nest客户端执行查询。目前,在我们的查询中用户输入是不变的。例如:

var result = await nestClient.SearchAsync<Product>(search => search
    .From(offset)
    .Size(limit)
    .Query(query => query
        .MultiMatch(multiMatch => multiMatch
            .Fields(fields => fields
                .Field(product => product.Name)
                .Field(product => product.Description))
            .Operator(Operator.Or)
            .Query(MALICIOUS_USER_INPUT)
        )
    )
);

我希望 NEST 客户端(或底层) Elasticsearch.Net 客户端)负责清理用户输入。
这个假设正确吗(链接到证明文档或源代码(高度赞赏)
如果假设不正确:我需要采取什么措施来防止用户在我的elasticsearch查询中注入恶意代码?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题