CVE-2020-1938:Apache Tomca文件包含复现

0x01 漏洞简介

Tomcat服务器是一个开源的、轻量级别的web应用服务器,在中小型系统和并发访问用户不是很高的场合下被普遍使用,是开发和调式JSP程序的首选。

0x02 apache 和tomcat的区别

对于apache和tomcat两个服务器,他们大多伴随出现,然而对于他们的具体区别总感到疑惑,所以就深入查看了一下:

  • apache支持静态页,tomcat支持动态页,比如servlet等。
    一般使用apache+tomcat时,apache只是作为一个转发,对jsp的处理时tomcat来处理的。apache支持php、cgi、perl、但是要使用Java的话,需要tomcat在apache后台支撑,将Java请求由apache转发给tomcat处理。

  • apache 侧重于http server;tomcat侧重于servlet引擎,可以看成是apache的扩展,但是独立于apache运行。换句话说,apache是一辆卡车,上面可以装一些东西如html等,但是不能直接装水,要装水必须需要桶(servelet)

0x03 漏洞概述

由于tomcat默认开启AJP服务(8009端口)存在一处文件包含缺陷,攻击者可以构造恶意的请求包进行文件包含的操作,进而读取受影响的tomcat服务器上的web目录文件

0x04 影响版本

  • Apache Tomcat 6
  • Apache Tomcat 7 < 7.0.100
  • Apache Tomcat 8 < 8.5.51
  • Apache Tomcat 9 < 9.0.31

0x05 环境搭建

将tomcat文件解压到要安装的目录下,进入文件夹的bin目录,找到startup.bat文件,点击进行加载,待加载完成后可以在浏览器访问http://localhost:8080界面访问成功说明tomcat安装成功。
在这里插入图片描述

0x06 漏洞利用

  • 启动apache服务,对其端口进行扫描发现8009,8080端口开启,证明有该漏洞。
    在这里插入图片描述
  • 使用poc进行验证(该POC目前只能读取webapps/ROOT目录下的文件),成功读取到配置文件
    在这里插入图片描述

0x07 漏洞修复

  • 临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉
<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />
  • 配置ajp配置中的secretRequired跟secret属性来限制认证
  • 下载最新版的tomcat

0x08 附件

  • POC的下载地址
    https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值