WebLogic EJBTaglibDescriptor XXE漏洞(CVE-2019-2888)分析
作者:Longofo@知道創宇404實驗室
時間:2019年10月16日
原文連結:
這個漏洞和之前@Matthias Kaiser提交的幾個XXE漏洞是類似的,而
EJBTaglibDescriptor
應該是漏掉的一個,可以參考之前幾個XXE的
。我和@Badcode師傅反編譯了WebLogic所有的Jar包,根據之前幾個XXE漏洞的特徵進行了搜尋匹配到了這個EJBTaglibDescriptor類,這個類在反序列化時也會進行XML解析。
Oracle釋出了10月份的補丁,詳情見連結( https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html)
環境
- Windows 10
- WebLogic 10.3.6.0.190716(安裝了19年7月補丁)
- Jdk160_29(WebLogic 自帶的JDK)
漏洞分析
weblogic.jar!\weblogic\servlet\ejb2jsp\dd\EJBTaglibDescriptor.class
這個類繼承自
java\io\Externalizable
因此在序列化與反序列化時會自動呼叫子類重寫的
writeExternal
與
readExternal
看下
writeExternal
的邏輯與
readExternal
的邏輯,
在
readExternal
中,使用
ObjectIutput.readUTF
讀取反序列化資料中的String資料,然後呼叫了load方法,
在load方法中,使用
DocumentBuilder.parse
解析了反序列化中傳遞的XML資料,因此這裡是可能存在XXE漏洞的
在
writeExternal
中,呼叫了本身的
toString
方法,在其中又呼叫了自身的
toXML
方法
toXML
的作用應該是將
this.beans
轉換為對應的xml資料。看起來要構造payload稍微有點麻煩,但是序列化操作是攻擊者可控制的,所以我們可以直接修改
writeExternal
的邏輯來生成惡意的序列化資料:
漏洞復現
1、重寫
EJBTaglibDescriptor
中的
writeExternal
函式,生成payload
2、傳送payload到伺服器
在我們的HTTP伺服器和FTP伺服器接收到了my.dtd的請求與win.ini的資料
3、在打了7月份最新補丁的伺服器上能看到報錯資訊
參考連結:
[1] 分析:
[2] https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html
如需轉載請註明來源。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912109/viewspace-2662049/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XXE外部實體注入漏洞總結
- WebLogic 反序列化漏洞深入分析Web
- weblogic 漏洞復現Web
- weblogic ssrf漏洞復現Web
- Vulhub WebLogic漏洞復現Web
- Weblogic-SSRF漏洞復現Web
- Oracle盲注結合XXE漏洞遠端獲取資料Oracle
- weblogic T3 漏洞修復Web
- WebLogic XMLDecoder反序列化漏洞WebXML
- WebLogic T3反序列化漏洞Web
- XXE攻擊是什麼?如何有效防禦XXE攻擊?
- XXE攻擊攻擊原理是什麼?如何防禦XXE攻擊?
- Java安全之初探weblogic T3協議漏洞JavaWeb協議
- weblogic(CVE-2019-2725)漏洞復現Web
- 【漏洞分析】KaoyaSwap 安全事件分析事件
- Java 審計之XXE篇Java
- ctfshow XXE做題記錄
- Java程式碼審計篇 - ofcms系統審計思路講解 - 篇4 - XXE漏洞審計Java
- BlueKeep 漏洞利用分析
- XSS漏洞分析
- Weblogic Coherence元件漏洞初探CVE-2020-2555Web元件
- 漏洞分析 | Dubbo2.7.7反序列化漏洞繞過分析
- weblogic程式高CPU使用率分析WebC程式
- XXE從入門到放棄
- PfSense命令注入漏洞分析
- SSRF漏洞簡單分析
- JSON劫持漏洞分析JSON
- 從exp入手分析漏洞
- tp5漏洞分析
- 修復weblogic的JAVA反序列化漏洞的多種方法WebJava
- xxe-基於Pikachu的學習
- 漏洞分析——變數缺陷漏洞及通用異常捕獲宣告缺陷漏洞變數
- 軟體漏洞分析技巧分享
- Java安全之Axis漏洞分析Java
- thinkphp3.2.x漏洞分析PHP
- CVE-2020-14644 weblogic iiop反序列化漏洞Web
- 甲骨文:WebLogic危急漏洞被積極野外利用攻擊(附POC)Web
- 淺解XXE與Portswigger Web SecWeb