溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530

發(fā)布時(shí)間:2021-12-28 17:53:32 來(lái)源:億速云 閱讀:136 作者:柒染 欄目:安全技術(shù)

本篇文章給大家分享的是有關(guān)怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

I  Introduction

struts2是第二代基于Model-View-Controller(MVC)模型Java企業(yè)級(jí)web應(yīng)用框架,成為國(guó)內(nèi)外較為流行的容器軟件中間件,用于Java Web應(yīng)用程序。

2020年12月08日,Apache Strust2發(fā)布最新安全公告,Apache Struts2存在遠(yuǎn)程代碼執(zhí)行的高危漏(CVE-2020-17530)由于Struts2 會(huì)對(duì)某些標(biāo)簽屬性(比如 `id`,其他屬性有待尋找) 的屬性值進(jìn)行二次表達(dá)式解析,因此當(dāng)這些標(biāo)簽屬性中使用了 `%{x}` 且 `x` 的值用戶可控時(shí),用戶再傳入一個(gè) `%{payload}` 即可造成OGNL表達(dá)式執(zhí)行。S2-061是對(duì)S2-059沙盒進(jìn)行的繞過(guò)。

II Impact Version

Struts 2.0.0-2.5.25

III  Harmfulness

8.0(高危)

IV Brief analysis of vulnerabilities

S2-061和S2-059的OGNL表達(dá)執(zhí)行觸發(fā)方式一樣,S2-059的修復(fù)方式為只修復(fù)了沙盒繞過(guò)并沒(méi)有修復(fù)OGNL表達(dá)式執(zhí)行點(diǎn),因?yàn)檫@個(gè)表達(dá)式執(zhí)行觸發(fā)條件過(guò)于苛刻,而S2-061再次繞過(guò)了S2-059的沙盒。

diff一下沙盒,可以看到把很多中間件的包添加到了黑名單中。

怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530

已知的OGNL沙盒限制為:

1>無(wú)法new一個(gè)對(duì)象

2>無(wú)法調(diào)用黑名單類和包的方法、屬性

3>無(wú)法使用反射

4>無(wú)法調(diào)用靜態(tài)方法

5>另外,最新的struts2在ognl.OgnlRuntime#invokeMethod 中ban掉了常用的class,意味著即使繞過(guò)了沙盒依然不能直接調(diào)用這些類。
怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530

V Vulnerability recurrence

怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530

怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530

自編EXP:

怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530

VI  Fix Vulnerability

1>Struts2 升級(jí)到2.5.26以上。

以上就是怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

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

AI