1. <strike id="voekh"><bdo id="voekh"></bdo></strike>
      <button id="voekh"><acronym id="voekh"></acronym></button>

      <s id="voekh"></s>

        <span id="voekh"></span>
      1. <li id="voekh"><acronym id="voekh"></acronym></li>
        <th id="voekh"></th>
        作家
        登錄

        Struts2再爆遠程代碼執行漏洞

        作者: 來源: 2013-07-02 11:55:35 閱讀 我要評論

        摘要

        Apache官方的struts2產品,最近出了一個遠程代碼執行漏洞,編號“S2-013”,目前是0DAY,官方沒有修補方案出現。

        http://struts.apache.org/development/2.x/docs/security-bulletins.html — (公告)

        官方安全公告給出了編號和簡要介紹,“A vulnerability, present in the includeParams attribute of the URL and Anchor Tag, allows remote command execution”。

        但是并沒有說原理,也沒有發布任何補丁。

        分析

        事實上,這次struts2官方一共發了兩個漏洞,還有個叫s2-012,但是這個漏洞,看題目,應該是我之前在《Xcon2012 攻擊JAVA WEB》時的已經爆出來了,所以本文只說另一個。

        struts2官方的開發傻乎乎的,比如這個漏洞,要么官方就不要發出來,既然發出來了,就應該發補丁,但是官方僅僅發了這段話,對于詳細內容,普通用戶不開放訪問。

        Struts2再爆遠程代碼執行漏洞

        從這段話可以大致總結一下幾點:

        1、未修補的遠程代碼執行漏洞

        2、includeParams參數在URLTAG中出現了問題。

        僅根據這兩點,熟悉struts2運行機制和之前漏洞原理的人,都可以輕易分析出具體利用POC。

        漏洞觸發:

        由于官方沒有發補丁,所以最新版本的struts2還是有漏洞的,可以下載最新:Apache Struts 2.3.14 GA的示例應用。

        經過簡單測試,就看到了想要的結果。

        根據官方給的信息,問題出在a標簽,所以寫個jsp頁面,內容如下:

        Click here.

        這個是struts2標簽庫的a標簽,該標簽會在頁面上顯示當前URL,當includeParams=all時,就會顯示具體參數內容。

        唯一需要解的迷,就是如何讓參數內容作為OGNL表示試執行,但是這個迷未免太好猜了,我隨手測試就出結果。

        訪問url:

        http://localhost:8080/blank/error.jsp?aaa=${struts2的常用POC,你懂得}

        就可以直接彈計算器,POC代碼大家都有的,我只截個圖:

        Struts2再爆遠程代碼執行漏洞

        幾乎沒有什么分析過程,就拿到了POC,最終為了研究修補方案,只好被迫研究了漏洞原理。

        漏洞原理:

        Struts2標簽庫中的url標簽和a標簽的includeParams這個屬性,代表顯示請求訪問參數的含義,一旦它的值被賦予ALL或者GET或者POST,就會顯示具體請求參數內容。按照正常的需求,把參數urlEncode一下也就夠了, 問題在于,struts竟然多做了一步,這丫把參數做了OGNL解析!

        代碼:

        Struts2再爆遠程代碼執行漏洞

        最終TextParseUtil.translateVariables會直接調用OGNL解析執行。

        【編輯推薦】

        1. Struts2漏洞瘋狂來襲 WEB安全危機四伏
        2. Struts2漏洞淺析之Ongl代碼執行分析
        3. Struts2漏洞分析之Ognl表達式特性引發的新思路

          推薦閱讀

          甲骨文為Java補丁更新重新編號

        甲骨文稱,考慮到零日漏洞補丁的增加,所以有必要重新編號。甲骨文改變了Java安全更新的號碼排列。如一位專家所言:“好像Java更新還不夠復雜一樣。”上周Oracle 支持文檔就發布了這次的改變通知。“>>>詳細閱讀


        本文標題:Struts2再爆遠程代碼執行漏洞

        地址:http://www.hnbrwh.com/anquan/buding/33717.html

        關鍵詞: 探索發現

        樂購科技部分新聞及文章轉載自互聯網,供讀者交流和學習,若有涉及作者版權等問題請及時與我們聯系,以便更正、刪除或按規定辦理。感謝所有提供資訊的網站,歡迎各類媒體與樂購科技進行文章共享合作。

        網友點評
        自媒體專欄

        評論

        熱度

        精彩導讀
        欄目ID=71的表不存在(操作類型=0)
        成 人 黄 色 网站 小说 免费
        1. <strike id="voekh"><bdo id="voekh"></bdo></strike>
          <button id="voekh"><acronym id="voekh"></acronym></button>

          <s id="voekh"></s>

            <span id="voekh"></span>
          1. <li id="voekh"><acronym id="voekh"></acronym></li>
            <th id="voekh"></th>