zoukankan      html  css  js  c++  java
  • Tomcat AJP 文件包含漏洞(CVE-2020-1938)漏洞复现

    漏洞简介

    该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行

    影响范围

    Apache Tomcat 6

    Apache Tomcat 7 < 7.0.100

    Apache Tomcat 8 < 8.5.51

    Apache Tomcat 9 < 9.0.31

    漏洞验证

    对目标主机进行端口扫描

    可以看到8009端口是打开的,运行AJP服务

    进一步使用poc验证,读取web.xml

    地址 https://github.com/0nise/CVE-2020-1938

    命令 python tomcat.py read_file --webapp=ROOT/ /WEB-INF/classes/application.yml 127.0.0.1

     修复方案

    1)如未使用Tomcat AJP协议:

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

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

    具体操作:

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

    <Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />

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

    <!--<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />-->

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

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

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

    <Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>

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

    <Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"requiredSecret="YOUR_TOMCAT_AJP_SECRET" />

     

     

  • 相关阅读:
    WPF DelegateCommand 出现Specified cast is not valid
    WPF DelegateCommand 出现Specified cast is not valid
    WPF DelegateCommand 出现Specified cast is not valid
    win10 sdk 是否向下兼容
    win10 sdk 是否向下兼容
    win10 sdk 是否向下兼容
    PHP extract() 函数
    PHP end() 函数
    PHP each() 函数
    PHP current() 函数
  • 原文地址:https://www.cnblogs.com/canyezhizi/p/12706295.html
Copyright © 2011-2022 走看看