亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

發布時間:2021-12-22 21:02:59 來源:億速云 閱讀:173 作者:柒染 欄目:網絡管理

本篇文章給大家分享的是有關怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、漏洞背景

Apache軟件基金會在Apache Struts中宣布了一個最新的遠程代碼執行漏洞,Apache Struts是一個現在較為主流的開源框架,是用于使用Java編程語言開發Web應用程序。目前使用Apache Struts部分版本開發的應用程序可能存在漏洞。該漏洞對應的CVE編號為CVE-2018-11776。

二、漏洞概要

誰應該讀這個  所有Struts 2的開發者和用戶  
漏洞的影響  可能的遠程代碼執行使用沒有namespace和同時的結果時,其上面的操作沒有或沒有通配符namespace。使用url沒有value和action設置的標簽時的可能性相同。  
最高安全等級  危急  
建議  升級到Struts 2.3.35或Struts 2.5.17  
受影響的軟件  Struts  2.3 - Struts 2.3.34,Struts 2.5 - Struts 2.5.16  不受支持的Struts版本也可能受到影響  
記者  來自Semmle安全研究團隊的Man Yue Mo.  
CVE標識符  CVE-2018-11776  

三、搭建環境

修改struts核心配置文件struts-actionchaining.xml,沒有為namespace賦值,并且配置了重定向action。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

   在ActionChain1中,添加execute的調試方法進行驗證。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

http://localhost:8080/struts2-showcase/${(333+333)}/actionChain1.action,OGNL表達式順利的被執行

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

執行到execute方法。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

已跳轉到指定的action頁面register2。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

輸入特定的payload,觸發漏洞,彈出計算器。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

四、觸發條件

1.使用Struts 2.3 - Struts 2.3.34,Struts 2.5 - Struts 2.5.16范圍內的Apache Struts版本。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

2.在struts核心配置XML上層action中“namespace”值為缺省值時,或“namespace”通配符為(“/*”)時可能會導致web應用遠程代碼執行漏洞。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

3.在struts配置“struts.mapper.alwaysSelectFullNamespace = true”,配置此屬性的目的是,是否在最后一個斜線之前的任何位置選定”NameSpace”。   

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

4.在struts核心配置XML文件中配置result標簽返回的類型選擇 “type= redirectAction” , 這個類型是為了將用戶重定向到一個已定義的好的action。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

五、漏洞分析

“DefaultActionMapper”調用”parseNameAndNamespace()”用來解析“namenamespace”和”name”。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

當alwaysSelectFullNamespace 的value值為true時,namespace的值可通過uri控制。

怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

執行完action后,ServletActionRedirectResult調用execute()進行重定向Result,通過ActionMapper.getUriFromActionMapping()對namespace和name進行重新定義,然后用setLocation()將帶namespace的location放入父類StrutsResultSupport中。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

父類StrutsResultSupport拿到location后,通過TextParseUtil.translateVariables()調用OgnlTextParser的evaluate方法,此方法就是最終解釋Ognl表達式的語句,所以最終導致解析執行url中的OGNL表達式。

 怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析

六、修復建議

建議將Apache Struts升級到最新版本2.3.35或是Apache Struts最新版本2.5.17,直接升級即可官方已經做好漏洞補丁,預計不會出現向后不兼容的問題。

以上就是怎么進行Apache Struts 2 遠程代碼執行漏洞CVE-2018-11776的分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

新化县| 开封市| 军事| 临清市| 武隆县| 英山县| 丰城市| 兴隆县| 南溪县| 肇东市| 四会市| 北安市| 周至县| 民和| 嘉峪关市| 仪征市| 丰都县| 大埔区| 泾川县| 维西| 五原县| 株洲市| 泸溪县| 彝良县| 乐都县| 南部县| 新津县| 邹平县| 抚顺县| 五台县| 洛隆县| 桂林市| 象山县| 大同市| 阿图什市| 宜宾县| 安义县| 涿州市| 南部县| 达拉特旗| 连州市|