apache漏洞-伺服器遠程執行惡意程式碼
漏洞產生的主要原因是因為apache dataimporthandler資料外部收集的一個埠模組,該模組
支援從遠端的位址進行通信,並多資料進行收集,正因為開放了遠端位址,可導致攻擊者構造
惡意的代碼對DIH進行腳本注入,從而讓後端伺服器對惡意程式碼進行了執行,該漏洞可導致服
務器被攻擊,被入侵,關於該漏洞的詳情我們ESAFE安全技術深入的帶大家來分析:
apache這個漏洞影響範圍較廣低於solr 8.2.0版本的都會受到漏洞的影響與攻擊,本身這個solr
模組就支援從遠端的位址進行資料的收集與導入功能,當用戶對dataimport進行使用的時候首
先會調用handleRequestBody類,並將請求的模組進行重新配置,預設代碼會對params.getD
ataConfig()參數裡post值進行判斷,當值為空就不會載入dataconfig裡的配置,截圖如下:
緊接著載入配置,對post值的相關參數進行賦值,像script,datasoure,document等變數進行
賦值,post裡的script自訂的參數會自動存入變數中,然後返回資料並保存,進行導入資料。
漏洞的產生就在這個script裡,攻擊者構造惡意的代碼在script裡,當dofulldump對齊解析並正
則式的進行值轉換,導致惡意程式碼被執行,這個script可以寫入很多java的類,apache並沒有
對內容進行安全過濾與限制,導致可以注入任意的惡意程式碼,使其伺服器進行執行。我們構
造了一個執行計算器的POC,我們截圖看下利用的效果:
那麼該如何修復apache漏洞呢?
首先請各位網站,伺服器的運維人員對當前的apache solr版本繼續查看,登錄solr的控制面
板,可以查看到當前的版本,如果低於8.2.0,說明存在漏洞,將solr的版本升級到最新版本
,也可以對apache設定檔進行修改,檔案名是solrconfig.xml,設定檔裡的datainport值
都注釋掉,關閉這個資料收集功能,有些網站,APP可能會使用到這個功能,在關閉後請檢
查網站的正常功能,是否收到影響,沒有影響就關閉即可,關於該漏洞的修復與安全加固
就到這裡,願我們的分享,能夠幫助到更多使用apache solr的公司。