天天看點

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

一丶漏洞原理

        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目錄

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

 2丶docker-compose build 建立容器

      docker-compose up -d 啟動容器

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

 3丶運作完成後通路http://your-ip:8080即可看到Tomcat的Example頁面

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

三丶漏洞複現

 4丶打開bp直接抓包将構造好的資料包發送到根目錄

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

5丶通路寫入的666.jsp檔案,證明漏洞存在

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

 6丶利用Windows NTFS檔案特性

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)
tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

 7丶上傳一個webshell,使用蟻劍連接配接

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

四丶修複方案

禁用PUT請求方法,設定為false

tomcat put方法任意寫檔案漏洞複現(CVE-2017-12615)

繼續閱讀