CVE-2017-7504-JBoss JMXInvokerServlet 反序列化


漏洞分析

https://paper.seebug.org/312/

漏洞原理

這是經典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet請求中讀取了用戶傳入的對象,然后我們利用Apache Commons Collections中的Gadget執行任意代碼。

 

修復建議

更新Apache Commons Collections庫 lib地址:https://github.com/ikkisoft/SerialKiller   

下載這個jar后放置於classpath,將應用代碼中的java.io.ObjectInputStream替換為SerialKiller   

之后配置讓其能夠允許或禁用一些存在問題的類,SerialKiller有Hot-Reload,Whitelisting,Blacklisting幾個特性,控制了外部輸入反序列化后的可信類型。

 

影響范圍

JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
JBoss AS (Wildly) 6 and earlier
JBoss A-MQ 6.2.0
JBoss Fuse 6.2.0
JBoss SOA Platform (SOA-P) 5.3.1
JBoss Data Grid (JDG) 6.5.0
JBoss BRMS (BRMS) 6.1.0
JBoss BPMS (BPMS) 6.1.0
JBoss Data Virtualization (JDV) 6.1.0
JBoss Fuse Service Works (FSW) 6.0.0
JBoss Enterprise Web Server (EWS) 2.1,3.0

 

環境搭建

https://github.com/vulhub/vulhub/tree/master/jboss/JMXInvokerServlet-deserialization

初始化完成后訪問http://your-ip:8080/即可看到JBoss默認頁面。

復現

方法1

利用集成工具,一鍵getshell

https://cdn.vulhub.org/deserialization/DeserializeExploit.jar

 

 

方法2

借助ysoserial,來生成payload,發送到/invoker/readonly,可參考

 https://github.com/vulhub/vulhub/tree/master/jboss/CVE-2017-12149

 


免責聲明!

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



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