您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關WebLogic遠程代碼執行漏洞CVE-2020-14644的分析是怎么進行的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
WebLogic是美國Oracle公司出品的一個application server,確切的說是一個基于JAVAEE架構的中間件,WebLogic是用于開發、集成、部署和管理大型分布式Web應用、網絡應用和數據庫應用的Java應用服務器。
Oracle官方在2020年7月份發布的最新安全補丁中披露此漏洞。該漏洞允許未經身份驗證的攻擊者通過IIOP,T3進行網絡訪問,未經身份驗證的攻擊者成功利用此漏洞可能接管Oracle WebLogic Server。CVSS評分9.8。
以WebLogic12.1.4.0作為漏洞環境進行分析,首先poc調用ClassIdentity構造方法,將構造的惡意類信息存入m_sPackage,m_sBaseName,m_sVersion三個屬性中。
使用Javassist類庫獲取構造的惡意類的字節流。并調用ClassDefinition構造方法,將獲取的惡意字節流存入m_abClass屬性中。
調用RemoteConstructor構造函數,將上述獲取到的屬性,傳入m_definition屬性中。
在反序列化過程中,序列化數據會進入到RemoteConstructor類中的readResolve()方法中,調用newInstance()方法。并進入realize方法中。
在此方法中,由于調用的getRemotableClass()方法中的m_clz屬性使用transient關鍵字,在反序列化過程中,此屬性值為null。在經過兩個if判斷條件后,執行
definition.setRemotableClass(this.defineClass(definition));
代碼語句。
在defineClass方法中獲取惡意類,及其惡意字節流數據,調用父類ClassLoader的defineClass方法,實現自定義ClassLoader的創建。在加載過程中執行惡意代碼,實現攻擊。
搭建WebLogic12.1.4.0漏洞環境,構造惡意的反序列化數據,通過T3發送到目標服務器,當目標服務器解析反序列化數據,會觸發惡意代碼執行,效果如圖:
目前受影響的WebLogic版本:
WebLogic Server 12.1.3.0.0
WebLogic Server 12.2.1.3.0
WebLogic Server 14.1.1.0.0
1.官方已經針對此漏洞發布補丁,請受影響的用戶參考以下鏈接安裝補丁更新:https://www.oracle.com/security-alerts/cpujul2020.html
1.可通過關閉IIOP協議對此漏洞進行臨時防御。操作如下:
在WebLogic控制臺中,選擇“服務”->”AdminServer”->”協議”,取消“啟用IIOP”的勾選。并重啟WebLogic項目,使配置生效。
2.對T3服務進行控制
控制T3服務的方法:
在上圖這個WebLogic界面中選擇安全-篩選器,在下方出現的界面中找到“連接篩選器”,在里面輸入
security.net.ConnectionFilterImpl
然后在連接篩選器規則中輸入
127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s
最后保存并重啟服務器即可生效。
以上就是WebLogic遠程代碼執行漏洞CVE-2020-14644的分析是怎么進行的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。