Apache Tomcat文件包含漏洞复现

前言

漏洞原理:
Apache Tomcat文件包含漏洞(CNVD-2020-10487/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

漏洞复现

使用docker环境部署

docker search tomcat-8.5.32					#搜索镜像
docker pull duonghuuphuc/tomcat-8.5.32      #拉取镜像
docker images   		#查看镜像
docker run -d -p 8080:8080 -p 8009:8009 duonghuuphuc/tomcat-8.5.32   #运行镜像并映射端口
docker ps -a            #查看进程

检测工具xray:https://github.com/chaitin/xray
检测命令:

./xray_linux_amd64 servicescan --target 127.0.0.1:8009

Apache Tomcat文件包含漏洞复现_第1张图片

漏洞修复

1.版本升级
更新到以下版本号可以修复该漏洞:
Apache Tomcat 7.0.100
Apache Tomcat 8.5.51
Apache Tomcat 9.0.31
2.无法升级版本,可以关闭AJP Connector

  1. 找到tomcat目录下的/conf/server.xml文件,打开定位到
  2. 将其注释掉

    在这里插入图片描述
  3. 重启tomcat服务

3.设置AJP认证凭证
使用tomcat 7和tomcat 9的配置为

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

使用tomcat 8的配置为

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

在这里插入图片描述

参考文章

https://www.cnblogs.com/ethtool/p/12455139.html
http://blog.nsfocus.net/cve-2020-1938/

你可能感兴趣的:(漏洞复现)