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