溫馨提示×

溫馨提示×

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

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

如何分析Apache Struts2-052 漏洞分析預警

發(fā)布時間:2021-12-28 15:03:39 來源:億速云 閱讀:106 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關如何分析Apache Struts2-052 漏洞分析預警,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

0x00 漏洞描述


The REST Plugin is using a XStreamHandler with an instance of XStream for deserialization without any type filtering and this can lead to Remote Code Execution when deserializing XML payloads.

-- Apache Struts 官方安全通告

2017年9月5日,Apache Struts發(fā)布最新安全公告,Apache Struts2的REST插件存在遠程代碼執(zhí)行的高危漏洞,該漏洞由lgtm.com的安全研究員匯報,漏洞編號為CVE-2017-9805(S2-052)。Struts2 REST插件的XStream組件存在反序列化漏洞,使用XStream組件對XML格式的數(shù)據(jù)包進行反序列化操作時,未對數(shù)據(jù)內容進行有效驗證,存在安全隱患,可被遠程攻擊。

Struts2啟用了rest-plugin后并編寫并設置了`XStreamHandler`后,可以導致遠程命令執(zhí)行這一嚴重問題。

0x01 漏洞影響面


1、影響面

確定CVE-2017-9805為高危漏洞。

實際場景中存在一定局限性,需要滿足一定條件,非struts本身默認開啟的組件。

2、影響版本

Version 2.5.0 to 2.5.12

Version 2.3.0 to 2.3.33

3、修復版本

Struts 2.5.13

Struts 2.3.34

0x02 漏洞詳情


1、技術細節(jié)

如何分析Apache Struts2-052 漏洞分析預警

文件`/org/apache/struts2/rest/ContentTypeInterceptor.java`

在struts2 rest-plugin 中的處理邏輯里接受到對應格式的消息時,會調用已經(jīng)注冊的對應`handler`的

`handler.toObject`方法對其進行實例化,在這里傳入的xml消息,所以就會跳轉到已經(jīng)定義的`XStreamHandler`的`toObject`方法

如何分析Apache Struts2-052 漏洞分析預警

在經(jīng)過此處的`fromXML`方法后導致實例化的惡意對象被執(zhí)行,導致惡意代碼執(zhí)行

如何分析Apache Struts2-052 漏洞分析預警

隨即看到計算器被成功彈出

2、漏洞修復

如何分析Apache Struts2-052 漏洞分析預警

新版本中增加了`XStreamPermissionProvider`

如何分析Apache Struts2-052 漏洞分析預警

并且對原先有問題的`createXStream`進行重寫,增加了校驗,拒絕不安全的類執(zhí)行

0x03 漏洞利用驗證


如何分析Apache Struts2-052 漏洞分析預警

0x04 修復建議


1. 官方建議設置插件處理的數(shù)據(jù)類型限定為`json`

```

<constant name="struts.action.extension" value="xhtml,,json" />

```

2. 升級Struts到2.5.13版本或2.3.34版本

3. 在`XStreamHandler`中進行數(shù)據(jù)校驗或檢查

以上就是如何分析Apache Struts2-052 漏洞分析預警,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI