您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何分析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é)
文件`/org/apache/struts2/rest/ContentTypeInterceptor.java`
在struts2 rest-plugin 中的處理邏輯里接受到對應格式的消息時,會調用已經(jīng)注冊的對應`handler`的
`handler.toObject`方法對其進行實例化,在這里傳入的xml消息,所以就會跳轉到已經(jīng)定義的`XStreamHandler`的`toObject`方法
在經(jīng)過此處的`fromXML`方法后導致實例化的惡意對象被執(zhí)行,導致惡意代碼執(zhí)行
隨即看到計算器被成功彈出
2、漏洞修復
新版本中增加了`XStreamPermissionProvider`
并且對原先有問題的`createXStream`進行重寫,增加了校驗,拒絕不安全的類執(zhí)行
0x03 漏洞利用驗證
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è)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。