Elasticsearch-py是否清理查询?

时间:2016-01-31 23:58:25

标签: python elasticsearch elasticsearch-py

我是ES的新手,想知道search function是否会消毒内部"查询"交给身体参数时的字段,如:

   "query": {
      "filtered": {
         "query": {
            "match": {
               "_all": {
                  "query": "[THIS PARAMETER]",
                  "operator": "and"
               }
            }
         }
       }
     }

我已经尝试过所有可以打破它的输入,但我似乎无法做到。我创建了一个清理功能但实际上在搜索"&"等字符串时会导致搜索结果更糟糕。或" +"。我查看了代码,似乎无法找到该字段的任何明显的消毒。我只想在用户通过该功能发送用户搜索查询之前确定。

由于

1 个答案:

答案 0 :(得分:0)

我看到另外三种可能的方法来验证es针对索引的反向攻击,这些数据库是数据库,类似于SQL注入攻击:

  1. 您对Lucene以及它如何处理攻击有多了解?直接追求Lucene架构和支持代码可以让您深入了解es如何处理攻击

  2. 尝试使用Lucene的SOLR方法,看看SOLR如何处理攻击; SOLR落后于es,然后一直在赶上并改善其他领域; es和SOLR

  3. 之间有一些有趣的SWOT架构比较
  4. 放下ELK堆栈的一部分 - 至少是Kibana和es,并测试Kibana,它可以生成其他可以测试的es / Lucene代码