漏洞复现--cve-2020-1938 Apache tomcat 文件包含漏洞

1.简介:

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

2.漏洞描述:

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

3.环境搭建:

java环境(因为tomcat是java写的,运行需要java环境)。

python环境(因为poc是python写的)。

 Apache tomcat/9.0.13(我这里使用的是9.0.13版本,当然可以下载其他的版本)。

 下载Poc(poc下载:https://pan.baidu.com/s/1PSdzhzGWu8TGd5p3rou5og  提取码:lo94)

4.漏洞复现:

环境搭建好开始漏洞复现,

将tomcat文件解压到你要安装的文件夹下,进入文件夹中的bin文件夹,使用cmd命令执行startup.bat文件,出现加载界面。

 

 如果执行startup.bat时候出现报错,那就需要在setclasspath.bat文件开头声明环境变量在里面添加自己本地jdk、jre路径。

待加载完成后在浏览器访问http://127.0.0.1:8080界面访问成功则说明tomcat安装成功,然后在服务中启动apache tomcat服务。

 对其进行端口扫描发现8009和8080端口开启,证明存在该漏洞。

 进入下载好的POC目录下CMD命令执行并加上网址参数,命令为(python ./CNVD-2020-10478-Tomcat-Ajp-lfi.py ip地址 –p 8009 –f WEB-INF/web.xml)执行成功后可以看到成功读取到web源码。

 4.影响版本:

Apache Tomcat 6

Apache Tomcat 7 < 7.0.100

Apache Tomcat 8 < 8.5.51

Apache Tomcat 9 < 9.0.31

5.修复建议:

  • 临时禁用AJP协议端口,在conf/server.xm l配置文件中注释掉<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />。
  • 配置ajp配置中的secretRequired跟secret属性来限制认证。
原文地址:https://www.cnblogs.com/cowherd/p/13039242.html