91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么進行Adobe ColdFusion反序列化RCE漏洞分析

發布時間:2021-12-24 21:27:34 來源:億速云 閱讀:347 作者:柒染 欄目:安全技術

怎么進行Adobe ColdFusion反序列化RCE漏洞分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

一、漏洞描述

2019年2月12日,Adobe官方發布了針對Adobe ColdFusion的安全更新補丁,編號為APSB19-10。補丁中包含啟明星辰ADLab發現并第一時間提交給官方的Critical(危急)反序列化漏洞,利用該漏洞攻擊者可遠程執行任意代碼。

漏洞編號為CVE-2019-7091,如下圖所示:

怎么進行Adobe ColdFusion反序列化RCE漏洞分析

本次漏洞為AdobeColdFusion中FlashGateway服務中的漏洞。Adobe ColdFusion的FlashGateway服務存在反序列化漏洞,未經身份驗證的攻擊者向目標AdobeColdFusion的FlashGateway服務發送精心構造的惡意數據,經反序列化后可遠程執行任意代碼。

二、漏洞時間軸

2018年9月21日:將漏洞詳情提交給官方;

2018年12月05日:確認漏洞存在并開始修復;

2019年2月12日:官方發布正式補丁。

三、漏洞分析

Adobe ColdFusion的FlashGateway服務允許flash連接到CFML和CFC模板。當攻擊者通過HTTP協議向FlashGateway服務POST精心構造的ActionMessage信息后,FlashGateway服務依次通過各種類型的filter進行invoke()操作。在flashgateway.filter.SerializationFilter的invoke方法中,實例化MessageDeserializer類型的反序列工具deserializer并通過deserializer.readMessage(m)方法對精心構造的ActionMessage消息進行反序列化,同時將ActionMessage中的targetURI、data等值賦值給MessageBody。

完成序列化過程后,此時ActionContextcontext中的內容即為輸入流中精心構造的ActionMessage信息。在flashgateway.filter.AdapterFilter的invoke方法中,讀取ActionContext中的MessageBody信息賦值給serviceName、functionName、parameters等,通過adapter=locateAdapter(context,serviceName, functionName, parameters, serviceType)方法得到flashgateway.adapter.java.JavaBeanAdapter類型的adapter,然后執行JavaBeanAdapter的invokeFunction方法。關鍵代碼如下:

public ActionContext invoke(ActionContext context) throws  Throwable {
        ...
      //讀取MessageBody信息
      MessageBody  requestMessageBody = context.getRequestMessageBody();
      String serviceName  = requestMessageBody.serviceName;
      String  functionName = requestMessageBody.functionName;
      List parameters = requestMessageBody.parameters;
        ...
     if  (context.isDescribeRequest()) {
      result = adapter.describeService(context,  serviceName);
     } else {
  //adapter為JavaBeanAdapter,執行flashgateway.adapter.java.JavaBeanAdapter的invokeFunction方法
    result =  adapter.invokeFunction(context, serviceName, functionName, parameters); }

在JavaBeanAdapter的invokeFunction方法中,看到關鍵代碼:method.invoke(service,parameters.toArray())。

怎么進行Adobe ColdFusion反序列化RCE漏洞分析

其中,目標執行方法method通過Method method =this.getMethod(parameters, serviceName, functionName, aClass)得到;

方法執行對象service 通過service = aClass.newInstance()得到;

方法執行參數parameters.toArray()通過MessageBody得到。

由此可見,method.invoke(service,parameters.toArray())的所用參數都可控,意味著可執行任意方法。

整個流程如下圖所示:

怎么進行Adobe ColdFusion反序列化RCE漏洞分析

四、漏洞利用效果

怎么進行Adobe ColdFusion反序列化RCE漏洞分析

五、影響版本

ColdFusion 11 Update 15及之前版本

ColdFusion 2016 Update 7及之前版本

ColdFusion 2018 Update 1及之前版本。

六、規避方案

1、修改gateway-config.xml文件的配置,禁止JavaBeanAdapter的使用。

2、升級最新補丁APSB19-10:https://helpx.adobe.com/security/products/coldfusion/apsb19-10.html。

看完上述內容,你們掌握怎么進行Adobe ColdFusion反序列化RCE漏洞分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

镇安县| 兴城市| 同心县| 滨州市| 独山县| 美姑县| 仁寿县| 韶关市| 沅陵县| 中阳县| 华池县| 贵溪市| 宁陕县| 阜城县| 辉县市| 宁明县| 历史| 嘉荫县| 涪陵区| 广河县| 六安市| 深圳市| 武汉市| 三亚市| 鄯善县| 昌平区| 乌海市| 卓资县| 岫岩| 洛扎县| 仙桃市| 安乡县| 阿拉善左旗| 昭平县| 肥城市| 郎溪县| 社会| 惠东县| 政和县| 吉隆县| 武夷山市|