ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[Vulfocus解题系列]Tomcat文件包含 & 文件读取漏洞(CVE-2020-1938)

2021-01-02 13:01:34  阅读:483  来源: 互联网

标签:文件 include 读取 Tomcat 漏洞 1938 servlet


昨天写了一篇Tomcat漏洞PUT方法任意写入文件漏洞(CVE-2017-12615) 的复现文章,今天决定近这两天把Tomcat常见的漏洞全部再次过一遍,就当复习回顾了。

漏洞简介

  1. CVE-2020-1938漏洞
    国家信息安全漏洞共享平台发布了Apache Tomcat上的文件包含漏洞。通知中表示攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件,如:webapp配置文件或源代码等。
    影响版本:
  • 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

    影响说明:读取webapp下的所有文件

  1. 漏洞原理
    Tomcat开启了http和AJP两种协议的处理,由于“javax.servlet.include.request_uri”,“javax.servlet.include.path_info”,“javax.servlet.include.servlet_path” 这三个参数可控,所以导致文件读取以及文件包含漏洞。不过注意,可读取的文件也仅限于webapps/ROOT目录。

题目环境

vulfocus演示环境自行搜索。

解题过程

利用脚本读取web.xml文件

发现可行,然后根据题目给出的提示,要去包含flag.png这个文件,于是继续利用脚本包含即可

Flag

动态flag。

总结与拓展

总结

1.漏洞原理
Tomcat开启了http和AJP两种协议的处理,由于“javax.servlet.include.request_uri”,“javax.servlet.include.path_info”,“javax.servlet.include.servlet_path” 这三个参数可控,所以导致文件读取以及文件包含漏洞,当然内容也仅限制webapps/ROOT目录。
2. 利用方法:
利用脚本读取/包含文件。

拓展知识与一些疑问

  1. Tomcat的简易架构图

从图中可以看出,Tomcat最顶层的容器是Server,其中包含至少一个或者多个Service,一个Service有多个Connector和一个Container组成。这两个组件的作用为:
(1)Connector用于处理连接相关的事情,并提供Socket与Request和Response相关的转化;
(2)Container用于封装和管理Servlet,以及具体处理Request请求;
Tomcat默认的 conf/server.xml 中配置了2个 Connector,一个为8080的对外提供的HTTP协议(1.1版本)端口,默认监听地址: 0.0.0.0:8080,另外一个就是默认的8009 AJP协议(1.3版本)端口,默认监听地址为:0.0.0.0:8009,两个端口默认均监听在外网ip。
此次漏洞产生的位置便是8009 AJP协议。

  1. 为什么是asdf.jsp

    起初对脚本中的asdf产生了疑问,最后看了原理之后,才发现,这里的asdf可以是任意字母只要Servlet中没有就可以,如果没有就会启动DefaultServlet。
    如果是要进行文件包含的话,那么就要使用asdf.jsp这样就会走jspServlet。

标签:文件,include,读取,Tomcat,漏洞,1938,servlet
来源: https://www.cnblogs.com/huaflwr/p/14220016.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有