• 漏洞复现--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属性来限制认证。
  • 相关阅读:
    Redis string
    java 是 传值还是传址 Pass-by-value or Pass-by-reference
    IDEA 适用技巧
    测试 MD
    pyqt5 学习总结
    win10 安装anaconda 无法使用pip 报错缺少SSL模块
    Hadoop datanode无法启动
    Ansible 安装jdk
    java 安装后 不能 java javac 说找不到命令 -bash: javac: command not found
    如何去掉MapReduce输出的默认分隔符
  • 原文地址:https://www.cnblogs.com/cowherd/p/13039242.html
Copyright © 2020-2023  润新知