Tomcat序列化(远程代码执行)漏洞——CVE-2016-8753

漏洞背景

     Tomcat是运行在Apache上的应用服务器,支持运行Servlet/JSP应用程序的容器。Tomcat也可以看作是Apache的扩展,不过实际上Tomcat也可以独立于Apache运行。

漏洞描述

       Oracle修复了JmxRemoteLifecycleListener反序列化漏洞(CVE-2016-3427)。部分Tomcat用户可能使用了JmxRemoteLifecycleListener这个监听器,但是由于Tomcat并没有及时升级,所以存在这个远程代码执行漏洞。

漏洞原因

      漏洞最根本的原因是Tomcat配置JMX做监控的时候使用JmxRemoteLifecycleListener方式(tomcat使用jmx rmi做监控有两种方式)

      而JmxRemoteLifecycleListener底层使用了存在漏洞的groovy-2.3.9.jar包,导致了序列化漏洞(远程代码执行)。

利用条件

        需要支持开启JmxRemoteLifecycleListener方式,默认不开启

漏洞利用

        我测试软件已打包  (提取码:qXghV9) 需要自行在catalina.bat修改IP地址

     环境准备

      0.需要将catalina-jmx-remote.jar和groovy-2.3.9.jar包放到Tomcat/lib目录下

      1.修改 Tomcat/bin 目录下catalina.bat,添加以下内容(window为例)

Tomcat序列化(远程代码执行)漏洞——CVE-2016-8753_第1张图片

       2.修改 tomcat server.xml 配置文件,添加以下内容

Tomcat序列化(远程代码执行)漏洞——CVE-2016-8753_第2张图片

       3.攻击测试 

                java -cp ysoserial-master.jar ysoserial.exploit.RMIRegistryExploit 10.18.35.13x 8009 Groovy1 calc.exe

Tomcat序列化(远程代码执行)漏洞——CVE-2016-8753_第3张图片

你可能感兴趣的:(Tomcat序列化(远程代码执行)漏洞——CVE-2016-8753)