zoukankan      html  css  js  c++  java
  • Tomcat Ajp(CVE-2020-1938)

    Tomcat Ajp(CVE-2020-1938)

    漏洞概况

    漏洞影响范围:
    Apache Tomcat 6
    Apache Tomcat 7-7.0.100
    Apache Tomcat 8-8.5.51
    Apache Tomcat 9-9.0.31
    
    漏洞分析

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

    Web客户访问Tomcat服务器的两种方式:

    两种访问方式

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

    1.HTTP Connector
    2.AJP Connector
    

    HTTP Connector监听8080端口,负责建立HTTP连接。通过浏览器访问Tomcat服务器的Web应用时,使用的就是HTTP Connector组件。

    <!-- Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    

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

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    

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

    漏洞复现

    • 利用docker部署环境
    docker run -d -p 8080:8080 -p 8009:8009 --name ghostcat duonghuuphuc/tomcat-8.5.32
    
    • 浏览器访问部署的服务出现如下图片

    • 攻击
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.195.133 -p 8009 -f WEB-INF/web.xml
    # -p:指定端口;默认指定为8009
    # -f:指定文件;默认指定为WEB-INF/web.xml
    #默认路径为/usr/local/tomcat/webapps/ROOT
    #使用python2
    

    EXP

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

    参考

    1

    2

  • 相关阅读:
    Bootstrap之Carousel问题
    IMG图片和文字同行显示
    divcss5布局
    使用PHP QR Code生成二维码
    mysql grant用户权限设置
    Linux下的压缩解压缩命令详解
    linux网站目录及Apache权限的设置
    lamp环境编译(apache2.4.7 php5.4.25 mysql 5.5.23)
    mysql开启远程访问
    lamp环境编译(实际通过)
  • 原文地址:https://www.cnblogs.com/Wuser/p/12401498.html
Copyright © 2011-2022 走看看