• CVE-2020-1938 Apache-Tomcat-Ajp漏洞复现


    一、概述

           1.1漏洞编号:CVE-2020-1938

      1.2危险等级:高

           1.3描述

      2020年2月20日,国家信息安全漏洞共享平台(CNVD)发布关于Apache Tomcat的安全公告,Apache Tomcat文件包含漏洞是由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。

    二、影响的版本

           Apache Tomcat 6

      Apache Tomcat 7 < 7.0.100

      Apache Tomcat 8 < 8.5.51

      Apache Tomcat 9 < 9.0.31

    三、漏洞分析

           通过对源码的分析,发现Tomcat在处理ajp协议时存在漏洞,可通过调用request.setAttribute为Tomcat设置任意request属性。复现发现Tomcat ajp协议存在web目录下任意文件读取漏洞以及JSP文件包含漏洞。

      当ajp URI设置为非jsp路径时,Tomcat会调用DefaultServlet处理,此时会导致web目录任意文件读取漏洞。

      当ajp URI设置为jsp路径时,Tomcat会调用JspServlet处理,此时会导致JSP文件包含漏洞

    四、复现步骤

    环境介绍

           目标机win7(IP):192.168.91.132

           攻击机kali(IP):192.168.91.128

           Tomcat版本:8.5.5

      注:顺带附上Tomcat各个版本下载链接:http://archive.apache.org/dist/tomcat/

    4.1查看tomcat是否部署

     

    4.2主机发现

     

    4.3扫描端口(8009开放)

     

    4.4下载读取文件的poc

      Poc链接:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

     

    4.5输入参数并执行

      可以看到已经成功读取了我们的文件信息

     

    五、防御措施

           1.禁用AJP协议,在tomcat安装路径中找到/conf/server.xml文件,删除或注释下面这行代码:<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />

           2.升级到tomcat最新版本,

           3.配置secret来设置AJP协议的认证凭证,如:<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>

    六、危害

           攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步实现远程代码的执行

  • 相关阅读:
    从YouTube改版看“移动优先”——8个移动优先网站设计案例赏析
    如何设计出正确的搜索模式?
    20个优秀手机界面扁平化设计,让你一秒看懂扁平化
    更巧妙的表单设计与登陆访问
    子树路径
    选拔赛-最短路
    hiho1050(树的直径)
    逆元
    hiho1303(模线性方程组)
    扩展欧几里德
  • 原文地址:https://www.cnblogs.com/bin1121/p/12556749.html
Copyright © 2020-2023  润新知