成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Tomcat執行任意代碼漏洞,請檢查!

安全 應用安全
我們本次分析兩個 CVE 中的一個漏洞,該漏洞比官方公告影響范圍還要廣,除了 Windows 平臺之外,其他平臺也以另外的一種利用形式受到影響,具體執行任意代碼的風險,故在此描述,各位朋友查看自己的應用,如果有影響請盡快修復。

近期有朋友在后臺反饋 Tomcat 的漏洞,

[[207785]]

到 Tomcat 的mail-list里查看郵件,果然郵件組里官方已經發布公告。

我們本次分析兩個 CVE 中的一個漏洞,該漏洞比官方公告影響范圍還要廣,除了 Windows 平臺之外,其他平臺也以另外的一種利用形式受到影響,具體執行任意代碼的風險,故在此描述,各位朋友查看自己的應用,如果有影響請盡快修復。

免責聲明

本文僅做技術分析及漏洞提醒,任何基于此從事的行為與本文無關。

漏洞描述

9月19日晚, Apache Tomcat 官方公告稱 所有 Windows 平臺上 開啟了 HTTP PUT 方法支持的, 都有遠程代碼執行的風險。漏洞代碼: CVE-2017-12615

官方描述如下:

 Apache Tomcat 官方公告稱 所有 Windows 平臺上 開啟了 HTTP PUT 方法支持的

詳細說明:

我們很久之前的文章介紹過, Tomcat 里包含了兩個默認的 Servlet, 用于處理特定的請求,一個是 DefaultServlet,一個是 JspServlet。這兩個 Servlet 都是在 Tomcat 默認的 web.xml 里被包含進來,與自定義的web.xml 進行 merge,所以每個應用都會有這兩個 Servlet。

由于每個 Servlet 都可以設置一些初始化參數(init-param) ,所以在默認的web.xml 里包含一些常用的,例如是否允許文件列表,是否debug,fileEncoding, sendFile的大小 等等。 這其中就可以設置是否允許HTTP PUT 方法。

參數配置項:readOnly, 主要用于對于HTTP 的 PUT / DELETE 方法是否進行拒絕。

  1. <init-param> 
  2.           <param-name>readOnly</param-name> 
  3.           <param-value>false</param-value> 
  4.         </init-param> 

 

readOnly 默認是true, 也就是默認并沒有啟用PUT、DELETE這些方法。 如果有些朋友的容器由于應用依賴,開啟了readOnly ,一定要注意!!!

我們來看,在 DefaultServlet 的 PUT處理邏輯中,會先判斷readOnly

對于 DefaultServlet 的mapping 配置如下:

此時,如果請求URL 類似這樣:

請求方法: PUT

  1. 請求方法: PUT 
  2. path:    http://xxx/context/abc.jsp/ 
  3. data:   使用raw格式   <%out.println("Hello World");%>  

使用Postman可以輕松構造一個(使用方法可以參考:Web開發神器之PostMan,接口測試再也不愁了)

PUT 的內容實際在處理時,會提取,并進行寫操作

  1. if(this.resources.write(path, (InputStream)resourceInputStream, true)) { 
  2.     if(resource.exists()) { 
  3.         resp.setStatus(204); 
  4.     } else { 
  5.         resp.setStatus(201); 
  6.     } 
  7. } else { 
  8.     resp.sendError(409); 

這里的路徑,雖然是abc.jsp/ ,但在實際處理時,會進行處理,由于文件名規范的限制,***的一個/ 會被處理,所以就創建出了一個名為abc.jsp的文件,文件內容就是我們傳來的raw 里的內容。而這里的內容是可以隨意寫的。

當PUT請求返回后,再次請求 abc.jsp, 此時 raw里隨意寫的內容就會被執行,也就是我們前面所說的任意代碼執行的風險。

Apache Tomcat 官方描述的在 Windows 平臺中的漏洞,也是和命名問題,如果請求時url里是以abc.jsp%20這樣的 PUT 請求,到達 DefaultServlet 處理時,創建文件依然會把%20這個空格過濾掉,風險同上。

解決方案:

處理這個問題需要把 readOnly 設置為 true,或者保持初始值,不在web.xml中增加配置。

【本文為51CTO專欄作者“侯樹成”的原創稿件,轉載請通過作者微信公眾號『Tomcat那些事兒』獲取授權】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2021-10-24 08:24:34

WinRAR遠程代碼漏洞

2014-09-12 17:47:36

2025-05-15 07:40:00

2020-10-19 14:01:34

漏洞Linux代碼

2009-05-31 15:34:37

2021-07-29 15:57:11

任意代碼漏洞攻擊

2021-11-08 11:52:17

漏洞LinuxLinux TIPC

2024-11-11 16:21:38

2021-10-31 14:51:02

WinRAR漏洞攻擊

2024-10-08 21:22:17

2025-06-04 10:05:43

2025-02-14 23:13:14

2024-12-19 15:13:26

2013-11-01 14:26:13

2025-03-28 10:31:17

2018-05-31 09:22:26

2020-09-24 11:15:20

漏洞

2021-05-11 15:44:31

UbuntuLinux

2025-05-20 08:41:17

2015-03-06 15:31:01

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久欧美高清二区三区 | 国产免费让你躁在线视频 | 黄色在线免费观看视频网站 | 一区在线视频 | 国产精品美女 | 午夜一区二区三区视频 | 四虎成人在线播放 | 在线欧美亚洲 | 伊人春色成人 | 中文字幕一区在线观看视频 | 欧美一区二区三区日韩 | 精品国产乱码久久久久久丨区2区 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 国产精品视频在线播放 | 久色视频在线观看 | 亚洲国产成人久久久 | 国产又色又爽又黄又免费 | 在线视频中文字幕 | 国产欧美日韩综合精品一区二区 | 久久久久久久久一区 | 日韩成人一区 | 日韩成人在线免费视频 | 99日韩| 久久999| av永久| 性一爱一乱一交一视频 | 国产精品久久国产精品 | 黄一区二区三区 | 99精品在线观看 | 国产一区二区三区久久久久久久久 | av一区在线观看 | 天天视频一区二区三区 | www九色 | 日韩欧美国产精品一区二区 | 九九热在线视频 | 色av一区二区 | 一区二区在线 | 亚洲欧美精品 | 欧美中文视频 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 台湾佬伊人|