Apache Struts2高危漏洞(S2-057CVE-2018-11776)

來源:互聯網
上載者:User

標籤:服務   cve   資訊   exec   map   遠端控制   variables   設定   運行   

花了兩天時間,特此記錄一:背景:

2018年8月22日,Apache Strust2發布最新資訊安全諮詢,Apache Struts2存在遠程代碼執行的高危漏洞。

 

二:漏洞產生原理:

1.需要知道對應跳轉請求的action名稱

2.Struts2架構中的屬性設定為:

1) struts.mapper.alwaysSelectFullNamespace = true

2) type = “redirectAction”或 type = “chain”

 

三:惡意代碼運行過程:

1. struts2-core.jar!/org/apache/struts2/dispatcher/ServletActionRedirectResult.class

2.通過getUriFromActionMapping()返回URI字串;

3.通過getUriFromActionMapping擷取的值賦給了tmpLocation變數,接著運算式進入setLocation方法

4.通過super.execute方法調用了ServletActionResult ,而在execute方法體內跟進了conditionalParse方法,在這個方法內調用了ONGL執行的關鍵方法translateVariables。

5.獲得的param值傳入到translateVariables()方法內,最終在OnglTextPaser裡導致了OGNL運算式執行。

 

四:漏洞利用

可以通過構造uri請求實現惡意利用,探測伺服器相關資訊,以及遠端控制伺服器的目的。

遠控構造請求,彈出shell視窗供利用者執行command命令

 

五:防禦措施:
  1. 將架構版本升級到官方最新版本
  2. 對於Web應用來說,盡量保證代碼的安全性,修改前面所說兩處屬性設定

Apache Struts2高危漏洞(S2-057CVE-2018-11776)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.