Tomcat PUT方法任意寫文件漏洞(CVE-2017-12615)


漏洞信息

  • 影響版本:Apache Tomcat 7.0.0 - 7.0.81
  • 漏洞原理:漏洞的產生是由於配置不當(非默認配置),將配置文件(
    conf/web.xml)中的readonly設置為了false,導致可以使用PUT方法上傳任意文件,但限制了jsp后綴,不過對於不同平台有多種繞過方法

復現

用vulhub提供的docker搭建好環境
瀏覽器訪問web頁面並用burp抓包,然后修改為PUT方式提交

可見已經成功上傳文件

但是直接上傳jsp文件是不被允許的

對於這種情況可以有多種方式繞過

  • Windows下不允許文件以空格結尾
    PUT /x.jsp%20 HTTP/1.1上傳到windows會被自動去掉末尾空格
  • WindowsNTFS流
    PUT /x.jsp::$DATA HTTP/1.1
  • /在文件名中是非法的,也會被去除(Linux/Windows)
    PUT /x.jsp/ HTTP/1.1

測試上傳

然后上傳cknife的jsp馬,用其連接

參考:
Tomcat代碼執行漏洞分析測試(附POC)
NTFS Streams


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM