0X1 漏洞概述

日前,长亭科技安全研究人员全球首次发现了一个存在于流行服务器 Tomcat 中的文件读取/包含漏洞,并第一时间提交厂商修复。

2月14日,Apache Tomcat 官方发布安全更新版本,修复漏洞。2月20日,国家信息安全漏洞共享平台(CNVD)发布安全公告,该漏洞综合评级为高危,漏洞编号为CNVD-2020-10487,CVE 编号 CVE-2020-1938。

漏洞影响范围包括

Apache Tomcat 6Apache Tomcat 7 .0Apache Tomcat 8 .5Apache Tomcat 9 < 9.0.31

0X2 环境搭建

在官方网站上下载源码

http://archive.apache.org/dist/tomcat/https://github.com/apache/tomcat/releases

下载完成之后,放置在任意目录下,并安装好Java环境,这里不在赘述。

配置完成之后,启动服务

浏览器访问

环境搭建完成。

0X3 漏洞分析

Tomcat服务器通过Connector连接器组件与客户程序建立连接,“连接器”表示接收请求并返回响应的端点。即Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户。

Tomcat默认在其配置文件server.xml中配置了两种connector:

HTTP connectorAJP connector

HTTP connector配置如下,它监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个,这里我改成了8000端口。

AJP连接器可以通过AJP协议和另一个web容器进行交互。它监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。AJP连接器可以通过AJP协议和一个web容器进行交互。

默认情况下,tomcat配置完成后,在conf/server.xml文件中AJP connector服务在8009端口监听

在tomcat服务启动后,查看本地端口,可以发现8009端口已经处于监听状态

通过Gh0stcat漏洞,攻击者可以读取Tomcat下部署的所有webapp目录下的任意文件。同时,如果此应用在网站服务中具备上传功能,攻击者也可以先向服务端上传一个含有JSP代码的恶意文件(上传文件可以是任意类型,图片、纯文本文件等),然后利用Gh0stcat进行文件包含,从而达到代码执行的危害。

0X4 漏洞利用

该漏洞从昨天爆出之后,在众多平台上已经有了验证代码,如下

https://github.com/0nise/CVE-2020-1938https://github.com/nibiwodong/CNVD-2020-10487-Tomcat-ajp-POChttps://github.com/Kit4y/CNVD-2020-10487-Tomcat-Ajp-lfi-Scannerhttps://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi/

使用其中任意一个POC文件进行验证,读取WEB-INF/web.xml文件

读取ROOT目录下的build.xml文件内容

可以看到,均可以成功读取。

0X5 加固修复

1.   如未使用Tomcat AJP协议:

如未使用 Tomcat AJP 协议,可以直接将 Tomcat 升级到 9.0.31、8.5.51或 7.0.100 版本进行漏洞修复。

如无法立即进行版本更新、或者是更老版本的用户,建议直接关闭AJPConnector,或将其监听地址改为仅监听本机localhost。

具体操作:

(1)编辑 /conf/server.xml,找到如下行( 为 Tomcat 的工作目录):

(2)将此行注释掉(也可删掉该行):

(3)保存后需重新启动,规则方可生效。

2.   如果使用了Tomcat AJP协议:

建议将Tomcat立即升级到9.0.31、8.5.51或7.0.100版本进行修复,同时为AJP Connector配置secret来设置AJP协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):

如无法立即进行版本更新、或者是更老版本的用户,建议为AJPConnector配置requiredSecret来设置AJP协议认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):

0X6 参考链接

https://github.com/0nise/CVE-2020-1938https://github.com/nibiwodong/CNVD-2020-10487-Tomcat-ajp-POChttps://github.com/Kit4y/CNVD-2020-10487-Tomcat-Ajp-lfi-Scannerhttps://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi/https://www.cnvd.org.cn/webinfo/show/5415https://mp.weixin.qq.com/s/D1hiKJpah3NhEBLwtTodsg

ppt修复无法读取_CVE20201938 Tomcat 文件读取/包含漏洞复现相关推荐

  1. cve-2017-12617 tomcat远程代码执行漏洞复现测试

    0x00前情提要 Apache Tomcat团队10月3日宣布,如果配置了默认servlet,则在9.0.1(Beta),8.5.23,8.0.47和7.0.82之前的所有Tomcat版本都包含所有操 ...

  2. UEditor .Net版本任意文件上传漏洞复现总结

    UEditor .Net版本任意文件上传漏洞复现总结 - 知乎 (zhihu.com) 这个洞有一定年数了,是2018年发现的(从下图的shodan中可以得知,该漏洞已经被大部分黑客SEO利用),最近 ...

  3. index.php.bak 颓废_CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现

    CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现 By:Mirror王宇阳 漏洞原理 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其 ...

  4. Apache Fink 文件上传漏洞复现及利用

    Apache Fink 文件上传漏洞复现 打开vulhub靶场,输入命令 cd flink/CVE-2020-17519 sudo docker-compose up -d sudo docker-c ...

  5. php kindeditor 文件不存在_不能取得文件类型!,kindeditor=4.1.5文件上传漏洞复现

    原标题:kindeditor<=4.1.5文件上传漏洞复现 0x00:背景 KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE.Fire ...

  6. 【MetInfo任意文件读取】--任意文件读取漏洞

    文章目录 漏洞信息 一.漏洞产生的原因 二.漏洞利用 1.对靶机网址进行burp抓包 2.对上述请求包进行修改 三.漏洞修复与绕过--四种修复与绕过 1.置空../和./ 2.对$dir进行判断 3. ...

  7. windows文件读取 xxe_XXE任意文件读取(当xml解析内容有输出时)

    利用XXE漏洞读取文件 参考:https://www.jianshu.com/p/4fc721398e97 首先找到登录源码如下: 由题目可以利用XXE漏洞读取文件 先登录用Burp Suite抓包: ...

  8. python中文件读取失败_Python文件读取与异常

    文件和异常 with open("text.txt") as p:读取文件目录下的text.txt文件并返回文件对象存储在p变量 text=p.read()读取p变量的内容 存储到 ...

  9. CVE-2020-1938 Aapache Tomcat AJP文件包含漏洞复现

    目录 一.环境搭建 1.下载vulhub 2.启动环境 二.漏洞复现 1.使用nmap扫描目标 2.运行POC验证漏洞 3.POC代码 三.修复方法 一.环境搭建 1.下载vulhub kali系统输 ...

  10. tomcat ajp协议安全限制绕过漏洞_Apache tomcat 文件包含漏洞复现(CVE20201938)

    漏洞背景 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer ...

最新文章

  1. vue点击增加class_Vuevbind动态绑定class
  2. python中read table_Python Pandas pandas.read_sql_table函数方法的使用
  3. lanmp/lamp/lnmp/lnamp一键安装
  4. PL/SQL 使用文档——表注释、显示乱码
  5. 【备忘】Oracle10g 创建、删除表空间、创建、授权用户
  6. github加速-解决GitHub访问速度很慢的问题
  7. 【02】koala编译中文出错(已放弃不用)
  8. 【Photoshop】批处理与快捷批处理
  9. 职场上不会“装傻”,才是真的傻!
  10. 一张图解释什么是遗传算法_什么是遗传算法?怎样绘制遗传算法流程图
  11. VPX视频叠加板卡学习资料第199篇:基于Xilinx FPGA XC5VFX100T的6U VPX视频叠加板卡
  12. 哈尔滨学院Day2--A The Puzzle
  13. 【WeNews】三胞债务重组方案出炉 650亿元金融债务如何化解
  14. python文件及目录操作(copytree)
  15. 绘制图形与3D增强技巧(三)----三角形图元TRANGLE
  16. vc 键盘按键KeyValue值
  17. 推荐 - 将多种格式的 Office 文件转换为 PPT 和图片
  18. 股市的起源发展和意义
  19. 如何更好的做线上引流
  20. Altium Designer 设计之PDN阻抗分析及应用-电源完整性

热门文章

  1. 《Android内核剖析》读书笔记 第13章 View工作原理【View树遍历】
  2. 如何保持MacBook电池健康并延长其使用寿命?
  3. 如何在VLC中添加字幕?
  4. 项目任务管理工具Project Office for mac
  5. iTerm2 如何设置以单词为单位快速移动光标?
  6. 5G Next Generation of Communication
  7. 匆忙赶路的时候别忘了适时停下来回头看看
  8. Graylog日志管理系统---搜索查询方法使用简介
  9. 关闭所有的screen
  10. 深度学习的未来在单片机身上?