CVE-2020-1938与CVE-2020-13935漏洞复现
前言
最近在腾讯云上买了个服务器,准备用来学习。在安装了7.0.76的tomcat后,腾讯云提醒我存在两个漏洞,分别是CVE-2020-1938和CVE-2020-13935,在修复完漏洞后,准备复现一下这两个漏洞,于是就有了这篇随笔。
CVE-2020-1938
漏洞简介
2020年,长亭科技安全研究人员全球首次发现了一个存在于流行服务器 Tomcat 中的文件读取/包含漏洞,并第一时间提交厂商修复。
2月14日,Apache Tomcat 官方发布安全更新版本,修复漏洞。2月20日,国家信息安全漏洞共享平台(CNVD)发布安全公告,该漏洞综合评级为高危,漏洞编号为CNVD-2020-10487,CVE 编号 CVE-2020-1938。
cve-2020-1938是一个出现在Apache-Tomcat-Ajp的文件包含漏洞,攻击者可以利用该漏洞读取包含Tomcat上所有的webapp目录下的任意文件,如:webapp配置文件或源代码。由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件。同时,若该服务器存在文件上传功能,攻击者还可以进一步实现远程代码执行。
影响版本
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
环境搭建
在这里推荐一款一键搭建漏洞的工具——Vulhub,非常好用。
我们进入到tomcat的CVE-2020-1938的目录下使用docker-compose up -d启动环境

在主机访问搭建成功

漏洞复现
然后进入kali进行攻击,使用POC
sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read: Tomcat的文件包含及文件读取漏洞利用POC (github.com)

被打马赛克的地方是ip地址,最后成功读取到web.xml,攻击成功。
我们在ROOT目录下写入一个1.txt再测试一下


也能成功读取
但在webapps目录下写入一个2.txt却不能读取,因为它默认读取的是ROOT目录下的文件


CVE-2020-13935
漏洞简介
Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。 Apache Tomcat中的WebSocket存在安全漏洞,该漏洞源于程序没有正确验证payload的长度。攻击者可利用该漏洞造成拒绝服务(无限循环)。
影响版本
Apache Tomcat 10.0.0-M1-10.0.0-M6
Apache Tomcat 9.0.0.M1-9.0.36
Apache Tomcat 8.5.0-8.5.56
Apache Tomcat 7.0.27-7.0.104
漏洞复现
此漏洞依旧使用上述环境
打开浏览器,在地址栏输入http://IPaddress:8080/examples/websocket/echo.xhtml查看是否可以访问,如果不可以访问,则说明该文件被删掉了,那就无法进行漏洞利用。

在服务器上使用top -bn 1 -i -c命令,可以看到CPU占有率为0.0

在kali上使用EXP攻击
RedTeamPentesting/CVE-2020-13935: Exploit for WebSocket Vulnerability in Apache Tomcat (github.com)
使用此EXP前需要先编译再攻击
go env -w GOPROXY=https://goproxy.cn //修改proxy地址
go build //编译go程序,输出tcdos.exe


可以看到此时cpu占有率为100,攻击成功
参考
CVE-2020-1938 Tomcat 文件读取/包含漏洞复现 - 云+社区 - 腾讯云 (tencent.com)
CVE-2020-13935 漏洞复现 - XY_181312 - 博客园 (cnblogs.com)
CVE-2020-1938与CVE-2020-13935漏洞复现的更多相关文章
- CVE¬-2020-¬0796 漏洞复现(本地提权)
CVE-2020-0796 漏洞复现(本地提权) 0X00漏洞简介 Microsoft Windows和Microsoft Windows Server都是美国微软(Microsoft)公司的产品 ...
- IDEA 2020.1.2 idea 2020.1.3下载 安装 一键破解
IDEA 2020.1.2 idea 2020.1.3下载 安装 破解 本项目只做个人学习研究之用,不得用于商业用途!若资金允许,请点击链接购买正版,谢谢合作!学生凭学生证可免费申请正版授权!创业公司 ...
- .NET Conf 2020大会将于2020年11月10日--- 11月12日举行 (UTC)时区
.NET Conf 2020大会将于2020年11月10日--- 11月12日举行 (UTC)时区 开始时间 2020年11月10日 08:00 (PT) | 16:00 (UTC)| 24:00(北 ...
- 【Android漏洞复现】StrandHogg漏洞复现及原理分析_Android系统上的维京海盗
文章作者MG1937 CNBLOG博客:ALDYS4 QQ:3496925334 0x00 StrandHogg漏洞详情 StrandHogg漏洞 CVE编号:暂无 [漏洞危害] 近日,Android ...
- 【漏洞复现】Tomcat CVE-2017-12615 远程代码执行漏洞
漏洞描述 [漏洞预警]Tomcat CVE-2017-12615远程代码执行漏洞/CVE-2017-12616信息泄漏 https://www.secfree.com/article-395.html ...
- 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复
20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...
- CVE-2018-15982漏洞复现
作者:欧根 漏洞信息:CVE-2018-15982 Adobe已发布适用于Windows,macOS,Linux和Chrome OS的Adobe Flash Player安全更新.这些更新解决一个 ...
- tomcat7.x远程命令执行(CVE-2017-12615)漏洞漏洞复现
tomcat7.x远程命令执行(CVE-2017-12615)漏洞漏洞复现 一.漏洞前言 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017 ...
- struts2(s2-052)远程命令执行漏洞复现
漏洞描述: 2017年9月5日,Apache Struts发布最新安全公告,Apache Struts2的REST插件存在远程代码执行的高危漏洞,该漏洞由lgtm.com的安全研究员汇报,漏洞编号为C ...
- 8.Struts2-057漏洞复现
漏洞信息: 定义XML配置时如果namespace值未设置且上层动作配置(Action Configuration)中未设置或用通配符namespace时可能会导致远程代码执行. url标签未设置va ...
随机推荐
- C++自学笔记 Composition:对象组合
继承是实现软件重用的一种方式. 在C++中拥有另一种实现软件重用的方式----- Composition:对象组合 用已经有的对象制造新的对象 (设计一个类的时候它的成员变量可以是另一个类的对象) 对 ...
- 矩阵顺时针打印(C++)(? 为什么不能AC,9度1391)
#include <iostream> #include <fstream> using namespace std; int a[1000][1000]; void prin ...
- Codeforces Round #442 (Div. 2) B. Nikita and string
题意:求最长可以分a b a为三部分子串,a b a可以为空 思路在代码里 1 #include<cstdio> 2 #include<iostream> 3 #include ...
- tListener监听器
1.概念 监听器:专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动. Servlet监听器:Servlet规范中定义的一种特殊类,它用于 ...
- Educational Codeforces Round 138 (Rated for Div. 2) A-E
比赛链接 A 题解 知识点:贪心. 注意到 \(m\geq n\) 时,不存在某一行或列空着,于是不能移动. 而 \(m<n\) 时,一定存在,可以移动. 时间复杂度 \(O(1)\) 空间复杂 ...
- 学习ASP.NET Core Blazor编程系列八——数据校验
学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...
- Android 13 新特性及适配指南
Android 13(API 33)于 2022年8月15日 正式发布(发布时间较往年早了一些),正式版Release源代码也于当日被推送到AOSP Android开源项目. 截止到笔者撰写这篇文章时 ...
- MVC下拉框
<select> @{ foreach (var item in 循环泛型) { <option value="@item.ID">@item.属性名< ...
- 题解 P3395 路障
前言 没想到这是\(\sf {tgD1T1}\)难度-- 题目大意 有一个\(n\times n\) 的棋盘,有\(2n-2\) 个路障,在第\(i\) 秒会在\((x_i,y_i)\) 放置路障.求 ...
- 如何使用vscode快速配置C语言环境(简单实用)
需要用到的工具: VSCode(Visual Studio Code) 一.首先打开官网链接,然后根据自己的电脑选择合适的安装程序进行下载. 二.在安装时默认点击下一步,最后记得勾选上添加path到系 ...