"Java 反序列化"過程遠程命令執行漏洞


一、漏洞描述

 
國外 FoxGlove 安全研究團隊於2015年11月06日在其博客上公開了一篇關於常見 Java 應用如何利用反序列化操作進行遠程命令執行的文章。原博文所提到的 Java 應用都使用了 Apache Commons Collections 這個庫,並且都存在一個序列化對象數據交互接口能夠被訪問到。針對每個應用,博文都提供了相應的分析和驗證代碼來說明 Java 應用存在遠程命令執行的普遍性。
 
 
二、漏洞危害
 
機器上一旦有使用上述應用,即處於“裸奔”狀態,黑客可隨時利用此漏洞執行任意系統命令,完全控制機器,破壞或竊取機器上的數據。
 
三、已確認被成功利用的軟件及系統  
 
使用了 Apache Commons Collections 這個庫的應用理論上都受到漏洞影響。目前已被證實受影響的應用:
 
  • WebSphere
  • WebLogic
  • JBoss
  • Jenkins
  • OpenNMS
 
四、建議修復方案
 
官方尚未為此漏洞發布補丁,所以無法通過應用升級等方法修復漏洞。
 
臨時解決方案:
 
1、使用 SerialKiller 替換進行序列化操作的 ObjectInputStream 類。
 
2、在不影響業務的情況下,臨時刪除掉項目里的 "org/apache/commons/collections/functors/InvokerTransformer.class" 文件。
 
3、把受漏洞影響的應用訪問路徑進行隱藏,如改成隨機生成的字符串。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM