日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Tomcat執(zhí)行任意代碼漏洞,請(qǐng)檢查!

近期有朋友在后臺(tái)反饋 Tomcat 的漏洞,

成都做網(wǎng)站、網(wǎng)站建設(shè)的開發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見(jiàn)的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。

到 Tomcat 的mail-list里查看郵件,果然郵件組里官方已經(jīng)發(fā)布公告。

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

免責(zé)聲明

本文僅做技術(shù)分析及漏洞提醒,任何基于此從事的行為與本文無(wú)關(guān)。

漏洞描述

9月19日晚, Apache Tomcat 官方公告稱 所有 Windows 平臺(tái)上 開啟了 HTTP PUT 方法支持的, 都有遠(yuǎn)程代碼執(zhí)行的風(fēng)險(xiǎn)。漏洞代碼: CVE-2017-12615

官方描述如下:

詳細(xì)說(shuō)明:

我們很久之前的文章介紹過(guò), Tomcat 里包含了兩個(gè)默認(rèn)的 Servlet, 用于處理特定的請(qǐng)求,一個(gè)是 DefaultServlet,一個(gè)是 JspServlet。這兩個(gè) Servlet 都是在 Tomcat 默認(rèn)的 web.xml 里被包含進(jìn)來(lái),與自定義的web.xml 進(jìn)行 merge,所以每個(gè)應(yīng)用都會(huì)有這兩個(gè) Servlet。

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

參數(shù)配置項(xiàng):readOnly, 主要用于對(duì)于HTTP 的 PUT / DELETE 方法是否進(jìn)行拒絕。

 
 
 
 
  1.           readOnly
  2.           false
  3.         

readOnly 默認(rèn)是true, 也就是默認(rèn)并沒(méi)有啟用PUT、DELETE這些方法。 如果有些朋友的容器由于應(yīng)用依賴,開啟了readOnly ,一定要注意!!!

我們來(lái)看,在 DefaultServlet 的 PUT處理邏輯中,會(huì)先判斷readOnly

對(duì)于 DefaultServlet 的mapping 配置如下:

此時(shí),如果請(qǐng)求URL 類似這樣:

請(qǐng)求方法: PUT

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

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

PUT 的內(nèi)容實(shí)際在處理時(shí),會(huì)提取,并進(jìn)行寫操作

 
 
 
 
  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);
  9. }

這里的路徑,雖然是abc.jsp/ ,但在實(shí)際處理時(shí),會(huì)進(jìn)行處理,由于文件名規(guī)范的限制,***的一個(gè)/ 會(huì)被處理,所以就創(chuàng)建出了一個(gè)名為abc.jsp的文件,文件內(nèi)容就是我們傳來(lái)的raw 里的內(nèi)容。而這里的內(nèi)容是可以隨意寫的。

當(dāng)PUT請(qǐng)求返回后,再次請(qǐng)求 abc.jsp, 此時(shí) raw里隨意寫的內(nèi)容就會(huì)被執(zhí)行,也就是我們前面所說(shuō)的任意代碼執(zhí)行的風(fēng)險(xiǎn)。

Apache Tomcat 官方描述的在 Windows 平臺(tái)中的漏洞,也是和命名問(wèn)題,如果請(qǐng)求時(shí)url里是以abc.jsp%20這樣的 PUT 請(qǐng)求,到達(dá) DefaultServlet 處理時(shí),創(chuàng)建文件依然會(huì)把%20這個(gè)空格過(guò)濾掉,風(fēng)險(xiǎn)同上。

解決方案:

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

【本文為專欄作者“侯樹成”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)『Tomcat那些事兒』獲取授權(quán)】


當(dāng)前標(biāo)題:Tomcat執(zhí)行任意代碼漏洞,請(qǐng)檢查!
網(wǎng)頁(yè)網(wǎng)址:http://www.5511xx.com/article/cdesjpj.html