apache最近爆出的漏洞越來越多,旗下的solr產(chǎn)品存在遠(yuǎn)程服務(wù)器執(zhí)行惡意代碼漏洞,該漏洞產(chǎn)生的主要原因是因?yàn)閍pache dataimporthandler數(shù)據(jù)外部收集的一個端口模塊,該模塊支持從遠(yuǎn)程的地址進(jìn)行通信,并多數(shù)據(jù)進(jìn)行收集,正因?yàn)殚_放了遠(yuǎn)程地址,可導(dǎo)致攻擊者構(gòu)造惡意的代碼對DIH進(jìn)行腳本注入,從而讓后端服務(wù)器對惡意代碼進(jìn)行了執(zhí)行,該漏洞可導(dǎo)致服務(wù)器被攻擊,被入侵,關(guān)于該漏洞的詳情我們SINE安全技術(shù)深入的帶大家來分析:
apache這個漏洞影響范圍較廣低于solr 8.2.0版本的都會受到漏洞的影響與攻擊,本身這個solr模塊就支持從遠(yuǎn)程的地址進(jìn)行數(shù)據(jù)的收集與導(dǎo)入功能,當(dāng)用戶對dataimport進(jìn)行使用的時候首先會調(diào)用handleRequestBody類,并將請求的模塊進(jìn)行重新配置,默認(rèn)代碼會對params.getDataConfig()參數(shù)里post值進(jìn)行判斷,當(dāng)值為空就不會加載dataconfig里的配置,截圖如下:
緊接著加載配置,對post值的相關(guān)參數(shù)進(jìn)行賦值,像,datasoure,document等變量進(jìn)行賦值,post里的自定義的參數(shù)會自動存入變量中,然后返回數(shù)據(jù)并保存,進(jìn)行導(dǎo)入數(shù)據(jù)。
漏洞的產(chǎn)生就在這個里,攻擊者構(gòu)造惡意的代碼在里,當(dāng)dofulldump對齊解析并正則式的進(jìn)行值轉(zhuǎn)換,導(dǎo)致惡意代碼被執(zhí)行,這個可以寫入很多java的類,apache并沒有對內(nèi)容進(jìn)行安全過濾與限制,導(dǎo)致可以注入任意的惡意代碼,使其服務(wù)器進(jìn)行執(zhí)行。我們構(gòu)造了一個執(zhí)行計算器的POC,我們截圖看下利用的效果:
那么該如何修復(fù)apache漏洞呢?
首先請各位網(wǎng)站,服務(wù)器的運(yùn)維人員對當(dāng)前的apache solr版本繼續(xù)查看,登錄solr的控制面板,可以查看到當(dāng)前的版本,如果低于8.2.0,說明存在漏洞,將solr的版本升級到最新版本,也可以對apache配置文件進(jìn)行修改,文件名是solrconfig.xml,配置文件里的datainport值都注釋掉,關(guān)閉這個數(shù)據(jù)收集功能,有些網(wǎng)站,APP可能會使用到這個功能,在關(guān)閉后請檢查網(wǎng)站的正常功能,是否收到影響,沒有影響就關(guān)閉即可,關(guān)于該漏洞的修復(fù)與安全加固就到這里,愿我們的分享,能夠幫助到更多使用apache solr的公司。
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗(yàn),每一個項(xiàng)目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!