快改密碼!Struts2漏洞引爆網(wǎng)站“泄密門”

2013-07-18 11:50:45來源:西部e網(wǎng)作者:

日前,Apache Struts2發(fā)布漏洞公告,稱其Struts2 Web應(yīng)用框架存在一個(gè)可以遠(yuǎn)程執(zhí)行任意命令的高危漏洞。利用該漏洞,黑客可輕易攻陷網(wǎng)站服務(wù)器,獲取網(wǎng)站注冊用戶的帳號(hào)密碼和個(gè)人資料,而Struts2框架正廣泛應(yīng)用在國

日前,Apache Struts2發(fā)布漏洞公告,稱其Struts2 Web應(yīng)用框架存在一個(gè)可以遠(yuǎn)程執(zhí)行任意命令的高危漏洞。利用該漏洞,黑客可輕易攻陷網(wǎng)站服務(wù)器,獲取網(wǎng)站注冊用戶的帳號(hào)密碼和個(gè)人資料,而Struts2框架正廣泛應(yīng)用在國內(nèi)大量知名網(wǎng)站上,包括各大門戶、電商、銀行等官網(wǎng)也受其影響。360互聯(lián)網(wǎng)安全中心為此發(fā)出紅色警報(bào),呼吁相關(guān)網(wǎng)站盡快更新Struts2漏洞補(bǔ)丁,或開啟360網(wǎng)站衛(wèi)士防范攻擊。

據(jù)360安全專家石曉虹博士介紹,由于Struts2屬于底層框架,其漏洞影響范圍廣、利用難度低,“菜鳥”也可以使用攻擊工具直接控制網(wǎng)站服務(wù)器,盜取用戶數(shù)據(jù)庫,甚至導(dǎo)致2011年底多家網(wǎng)站“密碼庫”泄露事件再次上演。

目前,網(wǎng)絡(luò)上已開始一些自動(dòng)化、傻瓜化的Stuts2漏洞攻擊軟件,只要在軟件中填寫存在Struts2漏洞的網(wǎng)站地址,即可直接執(zhí)行服務(wù)器命令,讀取網(wǎng)站數(shù)據(jù)或讓服務(wù)器關(guān)機(jī)等操作。而不幸的是,國內(nèi)大批網(wǎng)站均存在該漏洞,甚至連Stuts2之前的老漏洞尚未修復(fù),從而將網(wǎng)站注冊用戶信息赤裸裸地暴露在黑客攻擊槍口面前。

石曉虹博士建議,廣大網(wǎng)站應(yīng)盡快自查漏洞、安裝Apache官網(wǎng)補(bǔ)丁程序,也可使用360網(wǎng)站衛(wèi)士防范漏洞攻擊。對(duì)普通網(wǎng)民來說,近期最好更換一下常用網(wǎng)絡(luò)帳號(hào)的密碼,重要帳號(hào)密碼應(yīng)單獨(dú)設(shè)置,以免網(wǎng)站密碼庫泄露危及自身帳號(hào)安全。

附:Struts2高危漏洞分析

此漏洞影響Struts2.0-Struts2.3所有版本,可直接導(dǎo)致服務(wù)器被黑客遠(yuǎn)程控制,從而引起數(shù)據(jù)泄露。漏洞根源在于,DefaultActionMapper類支持以"action:"、"redirect:"、"redirectAction:"作為導(dǎo)航或是重定向前綴,但是這些前綴后面同時(shí)可以跟OGNL表達(dá)式,由于struts2沒有對(duì)這些前綴做過濾,導(dǎo)致利用OGNL表達(dá)式調(diào)用java靜態(tài)方法執(zhí)行任意系統(tǒng)命令。

這里以“redirect:”前綴舉例,struts2會(huì)將“redirect:”前綴后面的內(nèi)容設(shè)置到redirect.location當(dāng)中,如圖所示:

\

key.substring(REDIRECT_PREFIX.length())便是前綴后面的內(nèi)容也就是OGNL表達(dá)式,struts2會(huì)調(diào)用setLocation方法將他設(shè)置到redirect.location中。然后這里調(diào)用mapping.setResult(redirect)將redirect對(duì)象設(shè)置到mapping對(duì)象中的result里,如圖所示:

\

然而上面的過程只是傳遞OGNL表達(dá)式,真正執(zhí)行是在后面,這里是在FilterDispatcher類中的dispatcher.serviceAction()方法,

\

這里跟入方法最終會(huì)在TextParseUtil這個(gè)類的調(diào)用stack.findValue()方法執(zhí)行OGNL。

\

關(guān)鍵詞:Struts2漏洞

贊助商鏈接: