首页 > 其他分享 >Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)

Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)

时间:2023-08-04 16:44:52浏览次数:98  
标签:Aapache 文件 HTTP Tomcat AJP 0.0 Connector 1938

Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)【项目中遇到过】

1. 背景简述
java是目前WEB开发中主流的编程语言,而Tomcat是当前流行的Java中间件服务器之一。

Ghostcat(幽灵猫)是由长亭科技安全研究员发现的存在于 Tomcat 中的安全漏洞,由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害

Tomcat AJP Connector是什么?
Tomcat Connector是Tomcat与外部连接的通道,他使用Catalina能够接受来自外部的请求,传递给对应的web应用程序处理,并返回请求的响应结果。

默认情况下,Tomcat配置了两个Connector,它们分别是HTTP Connector和AJP Connector

HTTP Connector:用于处理 HTTP 协议的请求(HTTP/1.1),默认监听地址为 0.0.0.0:8080
AJP Connector:用于处理 AJP 协议的请求(AJP/1.3),默认监听地址为 0.0.0.0:8009
HTTP Connector就是用来提供我们经常用到的HTTP Web服务。而AJP Connector,他使用的是AJP协议(Apache Jserv Protocol),AJP协议可以理解为HTTP协议的二进制性能优化版本,它能降低HTTP请求的处理成本,因此主要在需要集群、反向代理的场景被使用。

2. 漏洞危害
通过Ghostcat漏洞,攻击者可以读取Tomcat所有webapp目录下的任意文件。

此外如果网站应用提供文件上传的功能,攻击者可以先向服务器上传一个内容含有恶意JSP脚本的文件(上传的文件本身可以是任意类型的文件,比如图片、纯文本文件等),然后利用Ghostcat漏洞进行文件包含,从而达到代码执行的危害。

3. 影响版本
Apache Tomcat 9.x < 9.0.31
Apache Tomcat 8.x < 8.5.51
Apache Tomcat 7.x < 7.0.100
Apache Tomcat 6.x

4. 利用条件
对于处于漏洞影响版本范围内的Tomcat而言,若其开启AJP Connector并且攻击者能够访问AJP Connector服务端口的情况下,即存在被Ghostcat漏洞利用的风险。

***注意 Tomcat AJP Connector 默认配置下即为开启状态,且监听在 0.0.0.0:8009 ***

5. 复现过程
img

  • xray复现
    xray servicescan --target 10.10.10.152:8009
  • 使用msf
    auxiliary/admin/http/tomcat_ghostcat
  • 使用脚本
    python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py -p 8009 -f WEB-INF/web.xml 10.10.10.152

标签:Aapache,文件,HTTP,Tomcat,AJP,0.0,Connector,1938
From: https://www.cnblogs.com/kalixcn/p/17606380.html

相关文章

  • Java17与相关框架支持版本SpringBoot、IDEA、Tomcat等
    相关框架需要的最低版本NameVersionJava17+SpringFramework6.0SpringBoot3.0Tomcat10.1Maven3.6.3+Gradle7.x(7.5orlater)and8.xUndertow2.3IntelliJIDEA2021.2+SpringFrameworkSpringFrameworkOverview::SpringFrame......
  • Linux系统下,Tomcat、Nginx停止和重启
    学习自:linux下MySQL、Tomcat、Redis、Nginx停止和重启-一半人生-博客园Tomcat启动:tomcat目录/bin/startup.sh停止:tomcat目录/binshutdown.shNginx启动:nginx目录/sbin/nginx(不能进入sbin目录下直接执行nginx,最少也要在sbin所在目录下执行sbin/nginx)停止:nginx目录/sbin/ng......
  • 解决Tomcat数据连接池无法释放
    近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况。前些日子因为手头上有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Reload一下就好了,不过只是治标而已,因为大概几个小时之后又会再次出现无法登录的情况。今天上午,开......
  • Linux:安装部署Tomcat和Nginx
    学习自:linux环境安装部署tomcat、nginx_ernesto_ji的博客-CSDN博客系统相关Linux服务器:Linuxrhel1.myguest.virtualbox.org 3.10.0-1160.el7.x86_64虚拟机平台:VirtualBox终端模拟器:Tabby步骤1、Linux环境安装部署Tomcat1)wget下载安装包apache-tomcat-8.5.82.tar.gz①先......
  • liunx安装tomcat10
     1、下载软件下载tomcat:https://tomcat.apache.org/查看版本与对应的jdk版本在orace官方下载对应tomcat的jdk版本  -----这里不做展示 2、解压 分别解压到指定目录 (我自己解压在/opt下,看个人需要) tar-xvfapache-tomcat-10.1.11.tar.gz-C/o......
  • Linux:安装Java以适配tomcat
    学习自:Tomcatv8.5.82搭建_幼儿园的扛把子!!的博客-CSDN博客怎样查看和tomcat对应匹配的最低jdk版本-百度经验1、查看tomcat适配的Java版本tomcat官网https://tomcat.apache.org/download-80.cgi,点击whichversion 我下载的tomcat是8.5.52,可以看到最后一列,支持的Java版本为......
  • nginx1.20-tomcat9-redisson集群,好像不怎么完善
    配置信息在同一台服务器上使用nginx做反向代理与两个tomcat组成简易tomcat集群使用nginx端口80tomcat1端口21005,21080,21009tomcat2端口22005,22080,22009配置过程1.先下载apache-tomcat-9.0.78,解压到两个目录,分别为tomcat1和tomcat2根据上方配置信息分别对两个目录中的......
  • TOMCAT功能及组件简介
      一、功能     servlet是ORACLE公司为了让WEB应用程序与WEB服务器程序之间进行交互协作而制定的一个接口。协作示意图如下:  这个接口规定:WEB应用中需要被WEB服务器动态调用的程序位于Servlet接口的实现类中;WEB服务器可以访问一个WEB应用中所有实现了Servlet接口......
  • tomcat环境部署verto客户端
    tomcat环境下部署verto客户端1.generateaself-signedcertificateforTomcatusingOpenSSLStep1:Generateaprivatekeyopensslgenpkey-algorithmRSA-outprivate.keyStep2:Createacertificatesigningrequest(CSR)opensslreq-new-keyprivate.key-......
  • windows下eclipse远程调试tomcat部署的工程
    修改catalina添加以下内容,其中21888为自定义的调试端口set"JAVA_OPTS=%JAVA_OPTS%-Xdebug-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=21888-Djava.protocol.handler.pkgs=org.apache.catalina.webresources"正常启动tomcat后,在eclipse的debugconfiguratio......