Apache官方今天晚上釋出安全公告(官方編號S2-032/CVE編號CVE-2016-3081),Apache Struts2服務在開啟動態方法呼叫(DMI)的情況下,可以被遠端執行任意命令,安全威脅程度高。
這一漏洞影響的軟體版本為2.3.20-2.3.28,不過2.3.20.2、2.3.24.2兩個版本除外,建議儘快升級到相應的最新版本,並關閉DMI。
這是自2012年Struts2命令執行漏洞大規模爆發之後,該服務時隔四年再次爆發大規模漏洞。
截止目前,烏雲漏洞報告平臺已收到100多家網站的相關漏洞報告,其中銀行佔了很大比例。
目前已有多個版本的漏洞利用POC在網際網路流傳,分為命令執行版本與直接寫入Web後門的版本。
烏雲平臺現在已經被該漏洞刷屏,據說後臺還有100多個漏洞待稽核,因此預計今天晚上會迎來該漏洞爆發的第一個小高峰,尤其是銀行業恐怕會被血洗。
結合歷史情況分析,該漏洞除了會影響銀行與網際網路企業(網易/多玩等)以外,還可能影響政府、證券、保險等行業,相關服務一定要提前做好安全應急與防範措施!
如果你在影響範圍內,有兩種解決方法:
1、禁用動態方法呼叫
修改Struts2的配置檔案,將“struts.enable.DynamicMethodInvocation”的值設定為false,比如:
< constant name="struts.enable.DynamicMethodInvocation" value="false" / >;
2、升級軟體版本
如果條件允許,可升級Struts版本至2.3.20.2、2.3.24.2或者2.3.28.1,這幾個版本都不存在此漏洞。
升級地址:https://struts.apache.org/download.cgi#struts23281
另附漏洞測試樣例(無風險):
http://d047ab33ccbe2dda8.jie.sangebaimao.com/struts2-showcase/filedownload/index.action?method:%2523_memberAccess%253D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%252C%2523test%253D%2523context.get%2528%2523parameters.res%255B0%255D%2529.getWriter%2528%2529%252C%2523test.println%2528%2523parameters.command%255B0%255D%2529%252C%2523test.flush%2528%2529%252C%2523test.close%26res%3Dcom.opensymphony.xwork2.dispatcher.HttpServletResponse%26command%3D%2523%2523%2523Struts2%20S2-032%20Vulnerable%2523%2523%2523