您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么撿漏weblogic及反饋給weblogic補丁,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
下面給大家分享一下怎么撿漏weblogic和怎么反饋給weblogic補丁。
既然我們談到挖weblogic。weblogic框架非常大,初次接觸的老哥可能無從下手不知道從哪里開始挖洞。我們可以從補丁來分析一下歷史漏洞。在這里還有很多漏洞類型沒有覆蓋,這種情況不要見怪,這只是一個最基礎的講解。
在你挖到漏洞后,最好安裝weblogic的最新補丁來校驗一下你的exp是否在最新補丁下生效。weblogic使用Opatch來管理補丁。在某些補丁中,補丁包對于Opatch最小版本是有要求,這時候我們需要升級Opatch補丁號為[28186730: OPATCH 13.9.4.2.4 FOR FMW/WLS 12.2.1.3.0, 12.2.1.4.0 AND 14.1.1.0.0]
來解決這個問題
https://support.oracle.com/epmos/faces/PatchHome?_adf.ctrl-state=1cdjuh74ay_4&_afrLoop=92240149765348#
下載后,解壓至任意文件夾 Windows 執行下面的命令java -jar opatch_generic.jar -J-Doracle.installer.oh_admin_acl=true -silent oracle_home=<ORACLE_HOME_LOCATION>
其它系統執行下面的命令java -jar <PATCH_HOME>/6880880/opatch_generic.jar -silent oracle_home=<ORACLE_HOME_LOCATION>
有不懂的,看壓縮包里的Readme
下載補丁后,解壓至任意文件夾即可 在Oracle_home 安裝目錄中,找到Opatch文件夾,執行升級操作即可 Opatch apply 補丁解壓的文件夾(注意是最內層文件夾
我們只關心安全補丁,下面說下怎么下載補丁 登錄Oracle support網站,找到Patchs&Updates 欄目,點擊進去
查詢條件,自己根據需要構造即可 REC的補丁,并且被標記為security,且Generic Platform平臺,即是補丁
注意,oracle每年發布四次安全補丁,安全補丁可以跨版本打,也就是說,老補丁同時也集成在新補丁中,這點一定注意。
weblogic中的補丁,其實是一個個編譯好的class文件,我們直接使用idea打開補丁文件夾,就可以利用idea的反編譯功能區分析補丁。
補丁中,每個class文件,都對應weblogic 實際目錄中的一個class文件,打補丁你可以認為強行替換weblogic 中相關jar包中的class文件。
下面講一下分析要點。對于這種安全補丁中,只有關于weblogic自身的安全問題,才會在這里體現,一般第三方包的安全漏洞,不會在該補丁中。
直接看files\oracle.wls.jrf.tenancy.common.sharedlib\12.2.1.4.0\wls.common.symbol\modules\com.bea.core.utils.jar\weblogic\utils\io
文件夾下的WeblogicFilterConfig.class
文件
因為weblogic 的漏洞,絕大多數都是T3協議、IIOP協議的java反序列化漏洞。而weblogic為了修復該漏洞,最簡單的辦法是設置反序列化黑名單并添加黑名單列表。如果反序列化時遇到的類存在于黑名單中,則中止反序列化過程。
我們只需要diff黑名單列表,自己研究構造poc即可。有的時候不一定是rce,也有可能是其他問題。
如果觸發反序列化的類在正常業務中可能需要,或者因為其他原因不能屏蔽,weblogic的修復方法為直接修改相關的類。
如果一個類在readObject方法中,自己私自調用ObjectInputStream去執行反序列化操作而不是用weblogic提供的FilterInputStream執行反序列化操作,這樣的話會導致weblogic的黑名單失效。這也就是反序列化中的反序列化漏洞,這種漏洞在weblogic中挺常見的。(不限于T3協議
例如 SOAPInvokeStat
我們diff中,可以明顯發現weblogic的補丁將ObjectInputStream更改為FilterInputStream。在weblogic中,只有FilterInputStream才會在反序列化的流程中檢查黑名單類。
然后,我們根據這個類中的參數,自己構造一個類即可。
在idea中,覆蓋一個類最簡單的辦法是,在自己的項目中創建一個與被覆蓋的類包名相同類名相同的類,然后修改你想要修改的代碼即可。例如在這個反序列化中,我要修改writeExternal
方法。直接強行替換成cve-2020-2555的gadget。
一般情況下該類漏洞都是在繼承自Exterinalizable的類 中,在自定義序列過程時,將類的某些字段,作為XML去存儲在反序列化的信息中。反序列化時候,讀取序列化信息中相關的字符串作為XML去解析。解析的過程中沒有考慮到XXE攻擊。這次我撿漏的cve就是該類型的漏洞。
在weblogic.wsee.security.wssc.sct.SCCredential#readExternal
方法中
this.appliesTo是反序列化得到的字符串,如果以<![[]]>
開頭,就會調用DOMUtils.toXMLNode
去解析。其實也就是當成xml解析,并且沒有任何過濾。
poc如下
網上查了一圈,好像沒有太多講解,正好我在這里分享一下我的提交過程。
這個xxe cve-2020-2211漏洞,是我去年12月的某天晚上失眠而挖到的一個洞。別大驚小怪,就是一個簡單的xxe。然后寫郵件給oracle。oracle提交漏洞的郵箱是secalert_us@oracle.com
。
在郵件的主題中,注明你這次挖到的洞是什么類型。郵件要用英文書寫,反正也別說亂七八糟的客套話,老外也看不懂。開門見山直接分析漏洞,扔給他poc,截幾張圖就行了。
![](https://potatso-1253210846.cos.ap-beijing.myqcloud.com/20210421131555.png
一般等兩三天左右,oracle就會回復你的郵件,確認漏洞分配一個內部編號。然后再回復你一封郵件,告訴你不要將這個漏洞透露給任何人。
然后就坐等cve編號即可。我這個漏洞等了將近半年,才發下cve編號。一般在oracle補丁日前兩三天發郵件告訴你的cve編號,影響等等各種信息。
至此,就獲得一個cve編號。
以上就是怎么撿漏weblogic及反饋給weblogic補丁,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。