您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
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ò)。
Struts 2.0.0-2.5.25
8.0(高危)
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一下沙盒,可以看到把很多中間件的包添加到了黑名單中。
已知的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)用這些類。
自編EXP:
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è)資訊頻道。
免責(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)容。