一丶漏洞原理
Windows伺服器下,将readonly參數設定為false時(預設設定為true),即可通過PUT方式建立一個JSP檔案,并可以執行任意代碼。Windows不允許空格作為檔案名結尾,是以我們上傳的末尾帶空格的jsp檔案,就會自動建立一個jsp檔案,導緻代碼執行。影響版本:7.0.0~7.0.79
幾種繞過Tomcat的檢測方式
1.利用Windows NTFS特性,evil.jsp::$DATA等于生成一個evil.jsp的jsp檔案
二丶漏洞環境
1丶 kail下,進入vulhub-master/tomcat/CVE-2017-12615目錄
2丶docker-compose build 建立容器
docker-compose up -d 啟動容器
3丶運作完成後通路http://your-ip:8080即可看到Tomcat的Example頁面
三丶漏洞複現
4丶打開bp直接抓包将構造好的資料包發送到根目錄
5丶通路寫入的666.jsp檔案,證明漏洞存在
6丶利用Windows NTFS檔案特性
7丶上傳一個webshell,使用蟻劍連接配接
四丶修複方案
禁用PUT請求方法,設定為false