一、漏洞描述

Apache與Tomcat都是Apache開(kāi)源組織開(kāi)發(fā)的用于處理HTTP服務(wù)的項(xiàng)目,兩者都是免費(fèi)的,都可以做為獨(dú)立的Web服務(wù)器運(yùn)行。

Apache Tomcat服務(wù)器存在文件包含漏洞,攻擊者可利用該漏洞讀取或包含 Tomcat 上所有 webapp 目錄下的任意文件,如:webapp 配置文件或源代碼等。

二、漏洞危害等級(jí)

        高

三、影響版本

該文件包含漏洞影響以下版本:

  • 7.*分支7.0.100之前版本,建議更新到7.0.100版本;
  • 8.*分支8.5.51之前版本,建議更新到8.5.51版本;
  • 9.*分支9.0.31之前版本,建議更新到9.0.31版本。

四、漏洞原理

tomcat默認(rèn)的conf/server.xm l中配置了2個(gè)Connector,一個(gè)為8080的對(duì)外提供的HTTP協(xié)議端口,另外一個(gè)就是默認(rèn)的8009 AJP協(xié)議端口,兩個(gè)端口默認(rèn)均監(jiān)聽(tīng)在外網(wǎng)ip。

如下圖:

aa.png

tomcat在接收ajp請(qǐng)求的時(shí)候調(diào)用org.apache.coyote.ajp.AjpProcessor來(lái)處理ajp消息,prepareRequest將ajp里面的內(nèi)容取出來(lái)設(shè)置成request對(duì)象的Attribute屬性

如下圖:

bb.png

因此可以通過(guò)此種特性從而可以控制request對(duì)象的下面三個(gè)Attribute屬性

javax.servlet.include.request_uri

javax.servlet.include.path_info

javax.servlet.include.servlet_path

然后封裝成對(duì)應(yīng)的request之后,繼續(xù)走servlet的映射流程如下圖所示:

cc.png

其中具體的映射方式就簡(jiǎn)略了,具體可以自己查看代碼.

五、兩種利用方式:

1、利用DefaultServlet實(shí)現(xiàn)任意文件下載

當(dāng)url請(qǐng)求未在映射的url列表里面則會(huì)通過(guò)tomcat默認(rèn)的DefaultServlet會(huì)根據(jù)上面的三個(gè)屬性來(lái)讀取文件,如下圖

dd.png

通過(guò)serveResource方法來(lái)獲取資源文件

ee.png

通過(guò)getRelativePath來(lái)獲取資源文件路徑

ff.png

然后再通過(guò)控制ajp控制的上述三個(gè)屬性來(lái)讀取文件,通過(guò)操控上述三個(gè)屬性從而可以讀取到/WEB-INF下面的所有敏感文件,不限于class、xm l、jar等文件。

2、通過(guò)jspservlet實(shí)現(xiàn)任意后綴文件包含

當(dāng)url(比如http://xxx/xxx/xxx.jsp)請(qǐng)求映射在org.apache.jasper.servlet.JspServlet這個(gè)servlet的時(shí)候也可通過(guò)上述三個(gè)屬性來(lái)控制訪問(wèn)的jsp文件如下圖:

gg.png

控制路徑之后就可以以jsp解析該文件 所以只需要一個(gè)可控文件內(nèi)容的文件即可實(shí)現(xiàn)rce.

六、利用成功截圖

hh.png

七、解決方案

1、臨時(shí)禁用AJP協(xié)議端口,在conf/server.xm l配置文件中注釋掉<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />

2、配置ajp配置中的secretRequired跟secret屬性來(lái)限制認(rèn)證

相關(guān)文章

發(fā)表回復(fù)

您的郵箱地址不會(huì)被公開(kāi)。 必填項(xiàng)已用 * 標(biāo)注

聯(lián)系電話

176-8951-1878

微信
微信
分享本頁(yè)
返回頂部
西藏巨騰信息技術(shù)有限公司提供拉薩網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、小程序開(kāi)發(fā)、APP開(kāi)發(fā)、網(wǎng)絡(luò)營(yíng)銷、在線推廣、在線商城開(kāi)發(fā)等服務(wù),聯(lián)系電話: 17689511878