Elasticsearch写入webshell漏洞(WooYun-2015-110216)
Vulnhub官方复现教程
https://vulhub.org/#/environments/elasticsearch/WooYun-2015-110216/
漏洞原理
ElasticSearch具有备份数据的功能,用户可以传入一个路径,让其将数据备份到该路径下,且文件名和后缀都可控。
所以,如果同文件系统下还跑着其他服务,如Tomcat、PHP等,我们可以利用ElasticSearch的备份功能写入一个webshell。
和CVE-2015-5531类似,该漏洞和备份仓库有关。在elasticsearch1.5.1以后,其将备份仓库的根路径限制在配置文件的配置项path.repo
中,而且如果管理员不配置该选项,则默认不能使用该功能。即使管理员配置了该选项,web路径如果不在该目录下,也无法写入webshell。所以该漏洞影响的ElasticSearch版本是1.5.x以前。
复现漏洞
启动环境
https://blog.youkuaiyun.com/JiangBuLiu/article/details/93853056
进入路径为
cd /root/vulhub/elasticsearch/WooYun-2015-110216
搭建及运行漏洞环境:
docker-compose build && docker-compose up -d