2022年的第一个工作日,雨笋教育小编如约而至,又来给大家分享一篇关于Elasticsearch搜索引擎的漏洞复现分析,新的一年学习也要更进一步呀,详细请看下文。
0x00前言
Elasticsearch是荷兰Elasticsearch公司的一套基于Lucene构建的开源分布式RESTful搜索引擎,它主要用于云计算中,并支持通过HTTP使用JSON进行数据索引。
0x01漏洞原理
ElasticSearch 1.2版本之前支持动态脚本。漏洞是通过_search方法的参数传入恶意代码,远程执行任意MVEL表达式和Java代码。
0x02影响版本
jre版本:openjdk:8-jre
elasticsearch版本:v1.1.1
0x03环境搭建
docker-compose.yml
version: '2'
services:
es:
image: vulhub/elasticsearch:1.1.1
ports:
- "9200:9200"
- "9300:9300"
docker-compose build
docker-compose up -d
0x04漏洞复现
访问9200端口:
- 在es中创建数据
POST /website/blog/ HTTP/1.1
Host: your-ip:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
{
"name": "yusun"
}
- 执行exp
0x05修复建议
- 升级版本
- 在elasticsearch.yml里配置script.disable_dynamic: true
*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。