eSafe白帽駭客資安網-網絡安全背後的巨人,提供駭客,網站入侵測試,網站被駭,網站漏洞,駭客入侵,資訊安全,入侵,ecshop,wordpress,漏洞修復,木馬清除,資安服務

Struts2-046 網站漏洞修復補丁以及加固方案

           

           Apache Struts 2 2.3.32以及2 2.3.x版本及Apache Struts2.5.10.1之前的的
 
Jakarta Multipart解析器上傳文件功能存在高危漏洞,該漏洞根源是網站程序代碼
 
裡沒有正確處理上傳的文件。導致駭客可以通過POST構造HTTP請求頭中的Content-
 
Type數值,來執行遠程惡意代碼,S2-046與S2-045漏洞利用的是同樣的上傳功能變量
 
,基本上可以通殺兩個版本。
 

 
影響Apache Struts2的最新遠程執行惡意代碼漏洞(RCE)。eSafe白帽資安網工程師對此進
 
行了詳細的安全審計,通過對POST請求中的Content-Type頭,來跟大家介紹Struts2
 
漏洞攻擊的細節。Apache Struts2漏洞分析和瞭解代碼錯誤導致的危害性。
 
在實戰模擬情況下,我們對其中一個客戶的網站進行網站安全檢測,檢測時發現
 
Struts2漏洞,在對網站滲透測試的時候,除了利用已知的攻擊向量漏洞之外,還可
 
以通過POST數據到Content-類型頭,eSafe白帽資安網公司是一家專注於:主機安全、網站安

、網站安全檢測、網站漏洞修復,滲透測試,安全服務於一體的網絡安全服務提供商。

 

使用JakartaStreamMultipartRequest,這個代碼的意思是需要將Struts2應用程序配置

為使用不是默認的Jakarta功能。檢查Struts2配置文件中的以下配置:

<constant name =“struts.multipart.parser”value =“jakarta-stream”/>

 
由Content-Length頭指定的上傳文件的大小大於Struts2的最大允許大小(2GB)
 
文件名包含一個OGNL有效引擎。
 
關於OGNL引擎
 
OGNL(Object Graph Navigation Language)即對像圖形導航語言,是一個開源的表

達式引擎。使用OGNL,你可以通過某種表達式語法,存取Java對像樹中的任意屬性、調

用Java對像樹的方法、同時能夠自動實現必要的類型轉化。如果我們把表達式看做是一

個帶有語義的字符串,那麼OGNL無疑成為了這個語義字符串與Java對像之間溝通的橋

梁。我們可以輕鬆解決在數據流轉過程中所遇到的各種問題。

 

 
Struts2 利用的是OGNL引擎,OGNL引擎在Struts2中是很牛B的,使用的範圍也比較

廣,所以在使用過程中,也發現了諸多的網站安全問題。駭客可以通過構造惡意參數的

數據帶入OGNL表達式中去,就可以被OGNL解析並執行惡意的代碼,而OGNL引擎也可

以用來獲取和設置當前的Java對象的屬性,也可以對主機系統windows Linux對像進

行修改,所以只要繞過Struts2的一些安全策略,駭客甚至可以執行系統命令進行系統攻

擊。eSafe白帽資安網公司是一家專注於:主機安全、網站安全、網站安全檢測、網站漏洞修

復,滲透測試,安全服務於一體的網絡安全服務提供商。
 
 
Struts 漏洞修復建議
 
嚴格的過濾 Content-Type 、filename裡的內容,禁止ognl引擎表達式相關字段。
 
使用Jakarta的插件的用戶,請立刻更新Apache Struts 2.3.32或2.5.10.1版本。
分享: