專案介紹
Apache Ofbiz 是乙個非常知名的電子商務平台,也是乙個知名的開源專案,為構建大中型企業、跨平台、跨資料庫、跨應用伺服器提供了基於最新 J2EE XML 規範和技術標準的多層分布式電子商務 Web 應用系統的框架。 Ofbiz 的主要特點是 Ofbiz 提供了一整套用於開發基於 J**A 的 Web 應用程式的元件和工具。 包括實體引擎、服務引擎、訊息引擎、工作流引擎、規則引擎等。
專案位址
漏洞摘要
在 Apache Ofbiz 1712.03 及之前版本存在 xmlrpc 導致的反序列化漏洞,官方在後續版本中對相關介面進行了加固修復,但修復方法存在繞過問題(CVE-2023-49070),攻擊者仍可利用反序列化漏洞在目標伺服器上執行任意命令。
影響範圍
apache ofbiz < 18.12.10
環境設定
*完成 Vulhub 後,進入 CVE-2023-49070 目錄,執行 docker compose up -d 命令。
漏洞再次發生
1. 使用 commonsbeanutils1 鏈構造惡意 paylod
j**a -jar ysoserial.jar commonsbeanutils1 "touch /tmp/success" | base64 | tr -d ""
2. 使用以下 POC
3. 命令執行成功。
漏洞分析
該漏洞的根本原因是 XMLRPC 元件的反序列化漏洞,但由於 XMLRPC 不再更新和維護,Apache OfBIZ 專案組決定刪除相關 **,問題已得到徹底修復,之前的補丁 ** 也被刪除。
事實上,CVE-2023-49070 是對歷史漏洞 CVE-2020-9496 的繞過,CVE-2020-9496 的修復如下。
但是補丁可以繞過,因為 Ofbiz 使用了 Tomcat 中介軟體,它支援 Control XMLRPC;格式化的 URI,因此 if 條件不成立,成功繞過。
但是,繞過補丁後,您仍然需要登入才能利用它,這涉及另乙個身份驗證繞過漏洞。 認證如下,如果下次返回結果不成功,則返回登入頁面。
在 checklogin 函式中,存在以下邏輯,只要不滿足以下任一條件,就會返回成功:
由於使用者名稱和密碼可以由使用者控制,因此登入函式中存在以下邏輯。
因此,xxxx ?username=&password=&requirepasswordchange=y URL 將成功返回給身份驗證函式以繞過身份驗證。 結合以上分析,可以實現preauth-rce。
參考鏈結。