91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么進行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

达州市| 徐水县| 南木林县| 正镶白旗| 大姚县| 邻水| 兴宁市| 额济纳旗| 巴林左旗| 宁城县| 尼勒克县| 轮台县| 隆回县| 穆棱市| 邹城市| 威宁| 广灵县| 内丘县| 三江| 廉江市| 迭部县| 南丰县| 元朗区| 平利县| 葵青区| 达日县| 雅江县| 神木县| 博白县| 河源市| 婺源县| 大同县| 聂荣县| 新邵县| 独山县| 平原县| 康保县| 汨罗市| 纳雍县| 富锦市| 天门市|