在數字化浪潮席卷全球的今天,Web 應用已成為企業運營和個人生活不可或缺的一部分。然而,伴隨其廣泛應用而來的,是日益嚴峻的網絡安全挑戰。每一次漏洞的曝光,都如同敲響的警鐘,提醒著我們對系統安全的持續關注和投入。Apache Tomcat 爆出的反序列化漏洞(CVE-2025-24813)再次將焦點引向了 Web 應用服務器的安全問題。本文將對這一漏洞進行深入剖析,從其概覽、風險自查、修復建議,到漏洞原理及利用方式,再到如何通過專業工具進行有效防護,為您提供一份全面的技術解讀。

01

漏洞概覽

/ TINGYUN

Apache Tomcat 是美國阿帕奇(Apache)基金會一款廣泛使用的輕量級 Web 應用服務器,主要用于實現對 Servlet 和 JavaServer Page(JSP)的支持。此次漏洞的產生源于 Apache Tomcat 反序列化機制未對用戶輸入進行嚴格驗證,導致攻擊者能夠通過構造惡意序列化對象繞過安全限制,進而實現遠程惡意代碼的執行,最終獲取服務器的控制權。這無疑對依賴Tomcat的企業和個人用戶構成了巨大的潛在威脅。

02

風險自查

/ TINGYUN

為了及時發現并規避潛在風險,企業應立即對當前使用的Apache Tomcat 版本進行自查。您可以通過聽云 ASPM 的組件風險功能或其他專業的安全檢測工具,核查您的 Tomcat 版本是否處于以下受影響的范圍內:

PlainText

11.0.0-M1 ≤ Apache Tomcat ≤ 11.0.2

10.1.0-M1 ≤ Apache Tomcat ≤ 10.1.34

9.0.0.M1 ≤ Apache Tomcat ≤ 9.0.98

03

如何修復受影響的程序

/ TINGYUN

要修復 CVE-2025-24813,請立即執行以下操作:

  • 升級 Apache Tomcat 到 11.0.3 或以上版本。

  • 升級 Apache Tomcat 到 10.1.35 或以上版本。

  • 升級 Apache Tomcat 到 9.0.99 或以上版本。

臨時緩解措施:

  • 禁用 DefaultServlet 寫入功能:在?web.xml?中確保?readonly=true

  • 禁用文件會話持久化:移除?context.xml?中的 PersistentManager 配置。

  • 移除漏洞庫:刪除或更新類路徑下存在漏洞的庫(如 commons-collections-3.2.1.jar 如果在不需要該組件的情況下)。

04

漏洞的原理及利用

/ TINGYUN

漏洞的原理

在 Tomcat 中,HTTP PUT 請求中的 Content-Range 頭字段發揮著實現大文件分塊傳輸的重要作用。當文件上傳處于未完成狀態時,這些上傳內容會被臨時存放在 Tomcat 工作目錄中,具體位置是:

?$CATALINA_BASE/work/Catalina/localhost/ROOT?

該漏洞的核心在于不完整 PUT 請求上傳時的文件名處理機制,其會將文件路徑中的分隔符?/?轉換為?.?。例如,訪問路徑?/xxxxx/session?會被解析為?.xxxxx.session。因此,整個漏洞的利用過程為:

  • Tomcat 的 File 會話存儲默認路徑同樣位于:?CATALINA_BASE/work/Catalina/localhost/ROOT?

  • 當存在反序列化利用鏈時,可以上傳包含惡意序列化數據的文件

  • 通過設置?JSESSIONID=.xxxxx?來觸發漏洞

漏洞利用方法(利用環境均在本地環境進行)

利用條件

//?1.DefaultServlet 啟用了寫入權限(默認禁用)

//?2.服務器啟用了partial PUT(默認啟用)

//?3.Tomcat 使用了基于文件的 Session 持久化機制(非默認配置,默認為基于內存持久化),且存儲位置為默認路徑

//?4.應用程序包含 可利用的反序列化漏洞庫(如 Commons-Collections 3.x)。(如果包含這個條件則可以 RCE,不然只能 java 原生反序列化如 URLDNS 鏈)

利用方法 1: CC 鏈

//?1.在符合利用條件的 Tomcat 版本中請求 Tomcat 主頁

//?2.獲取原始數據包

//?3.構造 RCE 鏈(如果有 cc 依賴或其他 RCE 依賴的情況下)通過 yakit 自帶插件 yso-java hack 生成混淆后的反序列化 base64 數據

//?4.把生成的數據放到數據包中構造惡意的請求,返回 409

//?5.再構造一個帶 Cookie:JSESSIONID=.poc (剛才請求的路徑的最上級路徑”/”用”.”替換,返回 500

//?6.RCE 成功,彈出計算器

利用方法 2:URLDNS 鏈

//?1.同樣的用 yso-java hack 構造序列化數據

//?2.把生成的數據放到數據包中構造惡意的請求,返回409

//?3.再構造一個帶 Cookie:JSESSIONID=.poc (剛才請求的路徑的最上級路徑”/”用”.”替換,返回500

//?4.觀察 DNSLOG 平臺,收到服務器請求,說明反序列化成功,服務器請求了我們發送的 URL 類

05

聽云 ASPM 如何提供幫助

/ TINGYUN

面對日益復雜的網絡安全威脅,專業的應用安全性能管理(ASPM)工具顯得尤為重要。聽云 ASPM 用戶可以通過威脅感知,組件風險,來實時觀察自己的系統是否存在 0day 安全風險以及 1day 或 nday 的組件風險。針對上述 Tomcat 漏洞,聽云 ASPM 能夠發揮以下關鍵作用:

命令執行漏洞發現?

當 Tomcat 通過聽云探針插樁后,聽云 ASPM 能夠立即發現命令執行漏洞。當應用程序調用了計算器行為時,ASPM 會立即發出警報,即使攻擊者對 payload 進行了混淆或雙字節字符處理,也無法逃避其監控。

反序列化漏洞發現:?

聽云 ASPM 能夠精準識別反序列化漏洞。當 java.net.URL 類被反序列化加載時,ASPM 會立即發現并展示完整的調用堆棧,幫助安全人員快速定位問題。

組件風險庫:?

聽云 ASPM 的組件風險庫會定期更新最新的組件 CVE 漏洞信息。通過組件風險功能,用戶可以清晰地看到其應用程序所使用的組件是否存在已知的安全風險,從而及時進行修復和升級。

06

結論

/ TINGYUN

Apache Tomcat 反序列化漏洞(CVE-2025-24813)的曝光,再次凸顯了在當前復雜多變的網絡環境中,開發人員定期更新依賴項、檢查安全架構以及部署專業安全工具的重要性。這一事件不僅是對技術人員的一次警醒,也證明了聽云 ASPM 類型應用安全性能管理工具在 0day 漏洞防護、組件安全等應用安全領域中的不可替代作用。只有持續關注安全動態,積極采取防護措施,才能在網絡空間中筑牢堅實的防線,確保業務的持續穩定運行。

參考:

https://github.com/advisories/GHSA-83qj-6fr2-vhqg

聲明:

本文的所有漏洞環境均為本地測試環境,且本文僅供學習參考使用,請勿用作違法用途,否則后果自負。

?

推薦閱讀

  • 在當今技術世界中,應用監控系統已經成為了維持企業日常運營的關鍵部分。隨著業務規模的不斷擴大和應用程序的復雜性增加,應用監控系統逐漸展現出其重要性。那么,這種系統到底有哪些優勢呢?

    2023-10-19

  • 隨著移動應用的不斷發展,用戶對應用性能的要求也日益提高。流暢的用戶體驗不僅依賴于界面設計和功能完善,還在很大程度上取決于應用在不同網絡條件下的性能表現。為了確保應用在各種網絡環境下都能保持優異的性能,開發人員需要重視流量性能監控。本文將探討app流量性能監控?的重要性以及如何通過監控來提升移動應用的性能。

    2023-12-06

  • 在數字化時代,應用程序接口(API)已成為企業和組織內部及外部交流和協作的關鍵。然而,api的穩定性和性能對整個系統的運行至關重要,在整個運行過程中,該種系統呈現出了較高的穩定性和自動化,這就引出api監控?這個話題,其優點和注意事項值得深入探討。

    2023-09-19

  • ?在日常的網絡管理和維護中,網絡性能監控原理始終是一項核心的技術點。這個原理不僅涉及到網絡的穩定運行,而且關系到網絡中的數據傳輸效率和用戶體驗。下面將對網絡性能監控原理進行深度剖析,幫助大家更好地理解這一技術的重要性和實際應用。

    2023-10-13

  • 在數字化轉型的浪潮中,企業的IT系統日益龐大且復雜,傳統的運維方式已無法滿足高效、準確管理的需求。此時,自動化運維監控?以其顯著的優勢,正逐漸成為企業運維的新常態和關鍵驅動力。

    2024-01-30