这类漏洞通常与请求解析、路径处理或协议实现缺陷相关:

  1. AJP 文件包含漏洞(CVE-2020-1938)
    Tomcat 的 AJP 协议实现存在缺陷,攻击者可构造恶意请求读取或包含 Web 应用目录下的任意文件。若结合文件上传功能,可进一步实现远程代码执行(RCE)。该漏洞属于协议解析漏洞,影响 Tomcat 6.x 至 9.x 多个版本,默认开启的 AJP 端口(8009)是主要攻击入口。

  2. PUT 方法文件上传漏洞(CVE-2017-12615)
    当 Tomcat 启用 HTTP PUT 方法(需手动配置 readonly=false)时,攻击者可通过构造特殊后缀文件名(如 evil.jsp%20 或 evil.jsp::$DATA)绕过安全校验,上传恶意 JSP 文件执行代码。该漏洞主要影响 Windows 环境,但部分绕过方法可跨平台利用。

  3. 路径解码漏洞(CVE-2017-15708)
    Tomcat 在处理畸形 URL 编码(如重复 %2e%2e)时可能触发空指针异常或无限循环,导致服务器崩溃。该漏洞属于路径解析缺陷,影响 Tomcat 9.x 早期版本。

二、反序列化漏洞(Deserialization Vulnerabilities)

这类漏洞利用 Java 反序列化机制的缺陷,通过构造恶意对象执行代码:

  1. CVE-2016-8735 与 CVE-2025-24813
    Tomcat 的会话管理或文件上传功能中,若未正确验证用户输入,攻击者可上传恶意序列化对象(如利用 Commons Collections 库),触发反序列化漏洞实现 RCE。例如,CVE-2025-24813 结合 partial PUT 请求和会话持久化机制,允许攻击者写入恶意会话文件并触发反序列化。

  2. JMX 反序列化漏洞(CVE-2016-3427)
    启用 JMX 远程监听功能时,攻击者可通过发送特制请求触发反序列化,执行任意命令。该漏洞需 JMX 服务暴露在公网且未配置认证。

三、信息泄露漏洞(Information Disclosure)

  1. 会话 Cookie 泄露(CVE-2023-28708)
    Tomcat 在处理 HTTPS 重定向到 HTTP 时,可能导致会话 Cookie 通过不安全通道传输,攻击者可劫持会话或窃取敏感信息。

  2. VirtualDirContext 信息泄露(CVE-2017-12616)
    配置 VirtualDirContext 时,攻击者可绕过安全限制获取 JSP 源代码或服务器配置文件。该漏洞需特定配置参数启用,默认情况下不生效。

四、认证与访问控制漏洞(Authentication & Access Control)

  1. 管理界面弱口令
    Tomcat 默认安装后,tomcat-users.xml 可能存在弱密码(如用户名 tomcat、密码 s3cret),攻击者可登录后台上传恶意 WAR 包获取权限。

  2. AJP 协议认证绕过
    CVE-2020-1938 除文件包含外,还可绕过部分访问控制机制,直接访问受保护资源。

五、配置与逻辑漏洞(Configuration & Logic Flaws)

  1. SessionExample 配置漏洞
    Tomcat 默认示例应用 SessionExample 未正确限制访问,攻击者可构造请求非法操控会话,甚至获取管理员权限。建议删除默认示例目录以规避风险。

  2. 默认 Servlet 写入权限
    DefaultServlet 的 readonly 参数默认关闭(需手动开启),若配置错误,攻击者可通过 PUT/DELETE 方法修改服务器文件。

六、拒绝服务漏洞(Denial of Service)

  1. 畸形请求导致崩溃
    发送超长 URL 或非法请求头(如 CVE-2017-15708)可触发内存泄漏或 CPU 过载,使服务器无法响应正常请求。

  2. 文件上传 DoS
    攻击者通过上传大文件或反复提交不完整 PUT 请求,耗尽服务器磁盘空间或连接资源。

文章作者: QiaoShen
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 QiaoShen-World
漏洞详解 实景渗透基础 中间件 渗透 姿势
喜欢就支持一下吧