潮人地東莞seo博客小編下面跟大家分享關于seo推廣技巧之:Struts 2漏洞(CVE-2018-11776)遠程代碼執行漏洞-s2057等問題,希望seo專員在做seo優化的過程中有所幫助,內容僅供參考。
今天潮人地東莞seo博客和朋友們分享的主題是關于Struts 2漏洞(CVE-2018-11776)遠程代碼執行漏洞-s2057的問題,主題內容來自百度百科和百度安全指數平臺。Struts2是一個基于MVC設計模式的Web應用框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。

Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合并的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與ServletAPI完全脫離開,所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。【百度百科】
seo博客相關推薦閱讀:seo入門:SEO關鍵詞排名優化的幾種方法分享!
漏洞描述:
2018年8月22日,struts2官方發布了新版本,其中修復了一個高級別遠程代碼執行漏洞(CVE-2018-11776),該漏洞在編程人員未設置namespace值且上層動作配置(Action Configuration)也未設置namespace值或使用通配符時可能會導致任意代碼執行。
影響版本:
漏洞等級:
高危
漏洞分析:
該次漏洞出現在namespace字段,誘發原因是namespace未在配置文件中定義,導致struts2核心包使用ActionProxy直接獲取從前端傳來的uri作為namespace參數,sturts2在解析uri時候使用了ognl表達式的解析函數,造成了遠程代碼執行漏洞。
可能的攻擊向量
seseo推廣優下拉rvletUrlRenderer.class
PostbackResult.class
ServletActionRedireseo推廣有效嗎ctResult.class
VelocityResult.class
FreemarkerResult.class
TagUtils.class
從上面選取一處分析其威脅調用過程分析如下:
這里選取PostbackResult類查看其威脅調用的位置,位置如下圖所示:

從上圖中可以看到當namespace從ActionContext未獲取到配置的時候,調用getProxy方法獲取從前端傳來的url中取得namespace,上圖紅線被調用在makePostbackUri方法中,其中postbackUri利用ActionMapping獲取到了訪問的Uri,這里會攜帶有從前端傳來的攻擊載荷。
繼續分析makePostbackUri在execute方法中執行,如下圖所示:

這里運行execute函數,進入到了StrutsResultSupport類中的execute函數當中,invocatin參數被使用在conditionParse方法中,如下圖:

進入conditionalParse方法中發現invocation被OGNL庫函數解析和執行,如下圖所示:

解決方案:
將struts2-core*.*.*包升級至官方最高版本,未防止與原始版本有沖突建議全部替換成官方最新版本。
了解更多:http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201808-740
以上是潮人地東莞seo博客跟大家分享關于seo推廣技巧之:Struts 2漏洞(CVE-2018-11776)遠程代碼執行漏洞-s2057等問題seo推廣的階段,希望能對大家有所幫助,若有不足之處,請諒解,我們大家可以一起討論關于網站seo優化排名的技巧,一起學習,以上內容僅供參考。