您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
struts2是第二代基于Model-View-Controller(MVC)模型Java企業級web應用框架,成為國內外較為流行的容器軟件中間件,用于Java Web應用程序。
2020年12月08日,Apache Strust2發布最新安全公告,Apache Struts2存在遠程代碼執行的高危漏(CVE-2020-17530)。由于Struts2 會對某些標簽屬性(比如 `id`,其他屬性有待尋找) 的屬性值進行二次表達式解析,因此當這些標簽屬性中使用了 `%{x}` 且 `x` 的值用戶可控時,用戶再傳入一個 `%{payload}` 即可造成OGNL表達式執行。S2-061是對S2-059沙盒進行的繞過。
Struts 2.0.0-2.5.25
8.0(高危)
S2-061和S2-059的OGNL表達執行觸發方式一樣,S2-059的修復方式為只修復了沙盒繞過并沒有修復OGNL表達式執行點,因為這個表達式執行觸發條件過于苛刻,而S2-061再次繞過了S2-059的沙盒。
diff一下沙盒,可以看到把很多中間件的包添加到了黑名單中。
已知的OGNL沙盒限制為:
1>無法new一個對象
2>無法調用黑名單類和包的方法、屬性
3>無法使用反射
4>無法調用靜態方法
5>另外,最新的struts2在ognl.OgnlRuntime#invokeMethod 中ban掉了常用的class,意味著即使繞過了沙盒依然不能直接調用這些類。
自編EXP:
1>Struts2 升級到2.5.26以上。
以上就是怎么淺談Apache Struts2 RCE漏洞CVE-2020-17530,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。