针对Tomcat 远程代码执行漏洞(CVE-2017-12615)的一次实战
前言
今天想多实践实践Tomcat中间件的漏洞。于是乎,把墨者学院的靶场全做了。
下面来看一下对Tomcat 远程代码执行漏洞的一次战斗!
一开始拿到这个靶场时,都不知道该如何入手,于是去百度搜了相关资料。
找到了一篇好文章,写的简单明了!阅读完后,发现要复现和利用还是很简单的。只要一个burp工具就够了!
https://www.freebuf.com/vuls/148283.html
漏洞原理
Tomcat 的 Servlet 是在 conf/web.xml 配置的,通过配置文件可知,当后缀名为 .jsp 和 .jspx 的时候,是通过JspServlet处理请求的:
而其他的静态文件是通过DefaultServlet处理的:
可以得知,“1.jsp ”(末尾有一个和空格)并不能匹配到 JspServlet,而是会交由DefaultServlet去处理。当处理 PUT 请求时:
会调用resources.bind:
dirContext 为FileDirContext:
调用 rebind创建文件:
又由于 Windows 不允许“ ”作为文件名结尾,所以会创建一个 .jsp 文件,导致代码执行。
影响范围
全部的 Tomcat 版本,从 5.x 到 9.x 。
修复建议
将 conf/web.xml 中对于 DefaultServlet 的 readonly 设置为 true
实战
目标:http://219.153.49.228:46395/
根据FB文章中说到了。可以利用/xx.jsp/通杀windows、Linux平台,也就省去了信息搜集的阶段中搜集目标操作系统的操作了!
先来试试,PUT写入test.jsp
再GET请求test.jsp,可以看到回显了hello,说明漏洞存在
然后PUT写入JSP后门代码,再GET请求ma.jsp,返回正常200,后门应该是被执行了,通过浏览器访问一下
于是去根目录找KEY文件
最终获取到了Flag
- Tomcat远程代码执行漏洞(CVE-2017-12615)
- Tomcat远程代码执行漏洞(CVE-2017-12615)
- 【漏洞复现】Tomcat CVE-2017-12615 远程代码执行漏洞
- Tomcat 远程代码执行漏洞分析(CVE-2017-12615)及补丁 Bypass
- Tomcat 远程代码执行漏洞分析(CVE-2017-12615)
- 9 月 19 日,腾讯云安全中心监测到 Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615
- Tomcat代码执行漏洞(CVE-2017-12615)的演绎及个人bypass
- 技术文章 | CVE-2017-12615/CVE-2017-12616:Tomcat信息泄漏和远程代码执行漏洞分析报告
- CVE-2017-12615-远程代码执行漏洞
- Apache Solr远程代码执行漏洞(CVE-2017-12629)
- IIS 6.0 WebDAV远程代码执行漏洞利用(CVE-2017-7269)
- 入侵Tomcat服务器一次实战描述
- 针对IIS6.0 WebDAV漏洞(cve-2017-7269)制作纯字符数字的shellcode回连msf
- 入侵Tomcat服务器一次实战描述
- Intellij Idea 2017创建web项目及tomcat部署实战
- 漏洞复现(CVE-2017-12615)
- 入侵Tomcat服务器一次实战
- 【漏洞公告】CVE-2017-8543:Windows Search远程代码执行漏洞
- Spring Data REST PATCH请求远程代码执行漏洞(CVE-2017-8046) 本地复现方法
- Spring Data REST PATCH请求 远程代码执行漏洞案例(CVE-2017-8046)