Apache Struts 2 S2-032漏洞威脅

時間:2016-05-19 來源:海豐科技

1.Struts簡介

Struts是Apache基金會Jakarta項目組的一個開源項目,Struts通過采用Java Servlet/JSP技術,實現了基于Java EE Web應用的Model-View-Controller(MVC)設計模式的應用框架,是MVC經典設計模式中的一個經典產品。目前,Struts框架廣泛應用于政府、公安、交通、金融行業和運營商的網站建設,作為網站開發的底層模板使用,是應用最廣泛的Web應用框架之一。

Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合并的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大,其在Action的實現方面線程模型方面、Servlet依賴方面、封裝請求參數、表達式語言方面、綁定值到視圖技術、類型轉換、Action執行控制的對比、攔截器的應用等方面較Struts1進行了較大改進。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與 ServletAPI完全脫離開,所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。

2.s2-032漏洞簡介

Apache官方發布安全公告(官方編號S2-032/CVE編號CVE-2016-3081),Apache Struts2服務在開啟動態方法調用(DMI)的情況下,可以被遠程執行任意命令,安全威脅程度高。(http://seclab.dbappsecurity.com.cn/?p=924),也即Struts 2的s2-032漏洞。

(1)調用方法

Struts2是第二代基于Model-View-Controller (MVC)模型的java企業級web應用框架,并成為當時國內外較為流行的容器軟件中間件。Struts 2的核心jar包-struts2-core中,存在一個default.properties的默認配置文件用于配置全局信息,當struts.enable.DynamicMethodInvocation = true,即開啟動態方法調用。盡管在Struts2目前的安全策略中,對部分動態調用方法進行了特殊字符傳遞的限制,但在該漏洞中攻擊者仍能通過通過OGNL表達式靜態調用獲取ognl.OgnlContext的DEFAULT_MEMBER_ACCESS屬性并覆蓋_memberAccess的方式進行繞過,進而可在受控制的服務器端執行任意代碼。

(2)漏洞影響范圍

漏洞影響Struts2.0.0-2.3.28 (除2.3.20.2和2.3.24.2以外)版本

(3)漏洞修復建議

Apache Struts官方已發布了升級程序修復該漏洞,建議用戶升級至struts 2.3.20.2,2.3.24.2,2.3.28.1版本。更新地址:https://cwiki.apache.org/confluence/display/WW/Migration+Guide。未能及時升級的用戶也可通過如下參數設置關閉動態方法調用功能來規避該漏洞的攻擊威脅。


地址:甘肅省蘭州市城關區南濱河東路66號

電話:0931-8278968

傳真:0931-8814250-8027

郵編:730000

官網:http://www.mnycc.club/

江苏省十一选五走势图
大众麻将四人麻将免费 铜陵麻将手机版 p2p投资理财平台靠谱吗 福州全民麻将怎么约朋友一起 股票分析师靠什么赚钱 河北快三开奖结果今 在线理财平台亠乾贷网 11选5安徽 星悦内蒙麻将下载二维码 中甲直播360 辽宁快乐12任5开 三明商品期货配资 浙江20选5走势图开奖 琼崖海南麻将下载 股票行情上证指数 吉林快三