文/李佳琳
前言
Tomcat是一个开源的轻量级Web应用服务器,普遍使用于中小型系统和并发访问用户不是很多的场合,是开发和调试JSP程序的首选。其中连接器Connector和容器Container是Tomcat的核心组件。本文主要介绍Tomcat的两个相关漏洞:Tomcat任意文件读取/jsp文件包含漏洞(CVE--)与Tomcat反序列化漏洞(CVE--)。
CVE--
Tomcat任意文件读取/jsp文件包含漏洞
1.1漏洞概述
该漏洞是由于TomcatAJP协议存在缺陷,攻击者可通过构造特定参数利用该漏洞,读取服务器webapp下任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。
影响版本:
ApacheTomcat6
ApacheTomcat77.0.
ApacheTomcat88.5.51
ApacheTomcat99.0.31
1.2AJP协议简介
Tomcat根据默认配置(conf/server.xml)启动两个连接器。一是HTTPConnector默认监听端口处理HTTP请求,二是AJPconnector默认端口处理AJP请求。Tomcat处理两个协议请求区别不大,AJP协议相当于HTTP协议的二进制优化版。通常在存在负载平衡的部署中使用,一般位于Web服务器后方,使用路由机制将会话重定向到正确的应用服务器,其中每个应用服务器实例都获得一个名称。这种情况下,Web服务器充当应用程序服务器的反向代理。
在许多Tomcat版本中默认将AJP服务开启并绑定到IP地址0.0.0.0/0,即监听任何人发送的AJP请求。
1.3漏洞复现
环境
攻击机:macOS
靶机:windows7,tomcat8.5.32
任意文件读取
以Tomcat8.5.32为例,从