漏洞背景

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。因为其运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,故很受广大用户的欢迎。

影响版本

漏洞编号CVE-2020-1938

Tomcat 6

tomcat 7 < 7.0.100

tomcat 8 < 8.5.51

tomcat 9 < 9.0.31

环境搭建

测试环境:

ubuntu 18.04

java 11.0.6

Apache tomcat 8.5.49

1、tomcat源码获取、解压安装

https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.49/bin/

源码解压

2、java 环境配置、tomcat服务开启

进入tomcat中bin目录下,编辑startup.sh、shutdown.sh在最后一行加入如下信息(注意根据自己实际情况修改JAVA_HOME和TOMCAT_HOME)

开启tomcat服务

3、访问测试浏览器输入http://192.168.1.4:8080

环境搭建成功

漏洞复现

Tomcat默认情况下开启AJP服务,利用Xray0.19.2 进行漏洞检测

工具链接:https://github.com/chaitin/xray/releases

利用漏洞进行包含敏感文件web.xml、index.jsp

web.xml

index.jsp

修复建议

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、如果使用了TomcatAJP协议:

建议将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更改为一个安全性高、无法被轻易猜解的值):参考链接:https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.htmlhttps://tomcat.apache.org/tomcat-8.0-doc/config/ajp.htmlhttps://stackoverflow.com/questions/21757694/what-is-ajp-protocol-used-for

tomcat ajp协议安全限制绕过漏洞_Apache tomcat 文件包含漏洞复现(CVE20201938)相关推荐

  1. 【文件包含漏洞-02】文件包含漏洞原理、简单测试实例以及空字符绕过实例

    目录 1 文件包含漏洞 1.1 文件包含漏洞概述 1.2 文件包含漏洞的形成原因/条件 1.3 危害 2 文件包含漏洞简单测试实例 2.1 测试环境 2.2 实例一:本地文件包含 2.3 实例二:远程 ...

  2. java 文件包含漏洞_远程文件包含漏洞(pikachu)

    漏洞介绍 File Inclusion(文件包含漏洞)概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 ...

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

    一.漏洞背景2020年02月20日,国家信息安全漏洞共享平台(CNVD)发布了关于Apache Tomcat文件包含漏洞(CVE-2020-1938/CNVD-2020-10487)的安全公告.Tom ...

  4. tomcat ajp协议安全限制绕过漏洞_国家信息安全漏洞共享平台发布Apache Tomcat漏洞安全公告...

    2月22日消息 国家信息安全漏洞共享平台(CNVD)近日发布了一份关于 Apache Tomcat 存在文件包含漏洞的安全公告,具体如下: 安全公告编号:CNTA-2020-0004 2020 年 1 ...

  5. 【文件包含漏洞03】文件包含漏洞的空字符绕过及六种利用方式

    目录 1 内容简介 本节概述 实验环境 2 空字符绕过 2.1 实验基础知识 2.2 实验环境及准备 2.3 实验步骤 2.3.1 正常访问 2.3.2 空字符绕过 2.3.3 额外的方式 3 利用方 ...

  6. 【文件包含漏洞-02】文件包含漏洞分类与原理及其空字符安全绕过实验

    文件包含漏洞 文件包含(file inclusion)漏洞,当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include ...

  7. 【文件包含漏洞-03】文件包含漏洞的利用及如何利用本地文件包含漏洞GetShell

    文件包含漏洞的利用 读取敏感文件 我们可以利用文件包含漏洞读取任意文件,读取文件的时候有利用条件 目标主机文件存在(目标文件的路径.绝对路径.相对路径) 具有文件可读权限 提交参数http://loc ...

  8. 【文件包含漏洞-01】文件包含漏洞成因与其包含语句及其相关配置

    文件包含 概述:程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某个函数的时候,直接调用此文件,无需再次编写,这种调用文件的过程通常称为包含. 程序开发人员都希望代码更加灵活,所以通常会把被 ...

  9. 文件上传漏洞之——远程文件包含漏洞(RFI)

    定义 如果php.ini的配置选项allow_url_include为On的话,文件包含函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞.利用远程文件包含漏洞,可以直接执行任意命令 原理 同本 ...

最新文章

  1. 阿里巴巴业务平台事业部总负责人墙辉:加速构建国际电商体系
  2. RS2008中控件ID冲突问题
  3. Linux基础命令介绍十:文本流编辑 sed
  4. 机器学习知识点(五)梯度下降法Java实现
  5. Oracle数据库asm原理,Oracle数据库中ASM功能解剖
  6. 神策 FM | CEO 荐书—《斯坦福商业决策课》
  7. 小米MIX 4支持UWB技术:实现设备间无感定向传输和操控
  8. java中jscrollpane_java中JScrollPane问题
  9. 对于技术焦虑的一点想法
  10. 30本数据分析的书籍送给你!
  11. Rails开始遇到的一个端口占用问题的解决方法
  12. java 反编译 exe_Java反编译
  13. 社会化媒体驱动营销转型
  14. PPT学习笔记和技巧分享【持续更新ing】
  15. ZF网络架构深度详解
  16. 知名互联网公司架构图
  17. 计算机数字音乐合成技术 fm,● 计算机数字音乐合成技术主要有(13)两种方式,其中使用(14)合成的音乐,其音质更好。(13)A. FM和AM - 扁豆云问答...
  18. module ‘eli5‘ has no attribute ‘show_weights‘
  19. php word权限设置密码,在php中加密和解密word docx文件的问题
  20. ggplot2-设置坐标轴

热门文章

  1. Android通过堆栈信息解决ANR问题
  2. 单链表头插法和尾插法
  3. Makefile之 .PHONY 作用
  4. android之module删除不干净
  5. 修改Ubuntu系统的用户名和主机名、创建和删除用户
  6. golang interface 类型转换_Golang面试题41道
  7. Linux Shell脚本 删除一个字符串中的部分字符
  8. shell循环读文件 Linux脚本读文件
  9. linux 7升级win10双系统,安装 Windows 10 + Centos 7 双系统共存
  10. mysql5.7.10安装时密码_Windows10中MySQL5.7安装及修改root密码的详细方法