ElasticSearch 命令执行漏洞(CVE-2014-3120)

2022-01-04 17:55:12 浏览数 (1)

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修复建议

  1. 升级版本
  2. 在elasticsearch.yml里配置script.disable_dynamic: true

*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。

0 人点赞