ElasticSearch 命令执行漏洞(CVE-2014-3120)
2022年的第一个工作日,雨笋教育小编如约而至,又来给大家分享一篇关于Elasticsearch搜索引擎的漏洞复现分析,新的一年学习也要更进一步呀,详细请看下文。
0x00前言
Elasticsearch是荷兰Elasticsearch公司的一套基于Lucene构建的开源分布式RESTful搜索引擎,它主要用于云计算中,并支持通过HTTP使用JSON进行数据索引。
0x01漏洞原理
ElasticSearch 1.2版本之前支持动态脚本。漏洞是通过_search方法的参数传入恶意代码,远程执行任意MVEL表达式和Java代码。
0x02影响版本
jre版本:openjdk:8-jre
elasticsearch版本:v1.1.1
0x03环境搭建
docker-compose.yml
version: '2'
services:
es:
image: vulhub/elasticsearch:1.1.1
ports:
- "9200:9200"
- "9300:9300"
docker-compose build
docker-compose up -d
0x04漏洞复现
访问9200端口:
- 在es中创建数据
POST /website/blog/ HTTP/1.1
Host: your-ip: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": "yusun"
}
- 执行exp
0x05修复建议
- 升级版本
- 在elasticsearch.yml里配置script.disable_dynamic: true
*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。
更多渗透测试干货分享,请关注公众号“雨笋君”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义