Tomcat控制台弱密码漏洞

article/2025/8/20 2:05:00

文章目录

    • 一、漏洞介绍
      • 1.1 漏洞原理
      • 1.2 影响版本
      • 1.3 触发条件
    • 二、环境搭建
      • 2.1 环境信息
      • 2.2 tomcat配置
      • 2.3 配置漏洞环境
    • 三、攻击过程
      • 3.1 控制台弱密码
      • 3.2 冰蝎控制
    • 四、漏洞修复

一、漏洞介绍

1.1 漏洞原理

  Tomcat支持后台部署War文件,默认情况下管理页面仅允许本地访问,如果网站运维/开发人员手动修改配置文件中的信息允许远程IP进行访问(需求),且恶意攻击者拿到管理界面账户密码情况下,则可上传木马文件,控制系统。

1.2 影响版本

  • 全版本

1.3 触发条件

  1. 默认配置文件已被修改,允许非本地访问
  2. 攻击者通过技术手段拿到账户密码

二、环境搭建

2.1 环境信息

复现环境如下:

名称版本
OSCentOS7.9
IP192.168.181.135
JDK版本1.8.0_292
Tomcat版本10.0.8
冰蝎3.0

2.2 tomcat配置

》》下载tomcat:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/(可以采用其它的源)
在这里插入图片描述
》》上传到服务器上并进行解压
在这里插入图片描述
》》更改文件名称
在这里插入图片描述
》》添加全局变量,使用修改tomcat启动关闭程序配置文件方式:

Tips:不建议写到全局配置变量中,否则如果装有多个JDK会冲突

》》在startup.sh和shutdown.sh加上下面一段:
在这里插入图片描述
在这里插入图片描述

Tips:注意第一行自己的Java路径是否一致,否则后边显示启动成功但服务启动不起来

export JAVA_HOME=/usr/local/java
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASS_PATH=$JAVA_HOME/bin/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tool.jar
export PATH=$PATH:/usr/local/java/bin:/usr/local/tomcat/bin

》》启动tomcat:
在这里插入图片描述
》》防火墙放行8080端口
在这里插入图片描述

如果出现上边启动命令成功但无法查看8080端口情况:

  1. 需要排查自己的java家目录是否和tomcat环境变量中一致,如果不一致需要查看更正java家目录于配置文件中:
    https://www.cnblogs.com/wjup/p/11041274.html(方法一)
  2. 添加后,重启tomcat即可

》》访问站点查看启动情况:
在这里插入图片描述
》》默认情况下控制台不允许访问,需要编辑控制台配置文件
在这里插入图片描述

2.3 配置漏洞环境

》》编辑用户权限的配置文件
在这里插入图片描述
》》添加如下两行

<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

在这里插入图片描述

Tips:由于8代的tomcat及以上默认启用了网段访问限制,只有127网段的局域网机器才具有访问权限,如果其它网段登录仍会显示403,所以需要分别修改以下两个文件中:
在这里插入图片描述
将原来的127修改为如下(允许所有网段访问)
在这里插入图片描述
》》保存退出

》》重启tomcat服务
》》点击管理界面
在这里插入图片描述
》》需要认证
在这里插入图片描述

三、攻击过程

3.1 控制台弱密码

》》通过Nmap扫描目标端口在8080端口上启动了tomcat
在这里插入图片描述
》》访问tomcat站点
在这里插入图片描述
》》访问tomcat管理界面
在这里插入图片描述
》》输入弱密码,登录成功
在这里插入图片描述
》》成功登录控制台
在这里插入图片描述

3.2 冰蝎控制

》》更改冰蝎马密码:(MD5加密的前16位)
》》使用jar生成war包:(在java目录中执行,添加环境变量的略过)
在这里插入图片描述

Tips:为什么需要上传War包?
答:war包是使用java进行开发一个网站下所有代码(前端+后端),开发完毕后会将源码打包给测试人员测试,测试完毕会使用war包进行发布,war包可以放在tomcat的webapps下,tomcat服务器启动后war包中的源代码会自动进行部署。

》》将war包上传到控制台
在这里插入图片描述
》》上传成功,查看目录
在这里插入图片描述
》》冰蝎创建连接:
在这里插入图片描述
》》成功执行命令
在这里插入图片描述

四、漏洞修复

  1. 严格控制账户权限,使用低权限账户运行tomcat程序(如非必须禁止远程登录);
  2. 对需要远程登录账户,严格要求密码复杂度(大小写+8位以上+数字特殊字符),并定期进行更改;
  3. context.xml文件中限制远程访问IP,制定白名单策略。

http://chatgpt.dhexx.cn/article/kEtpLeRT.shtml

相关文章

前端JS弱密码验证

前端JS弱密码验证 前言JS文件使用姿势尾巴 前言 最近在学习uniapp开发&#xff0c;开发过程中要对用户密码做弱密码校验&#xff0c;然后总结了下常用的弱密码规则和校验方式&#xff0c;通过封装成js文件来提供一系列验证方法&#xff0c;下面就直接看封装后的leak-pwd-check…

信息安全学习3. 常用的攻击手段 弱密码

信息安全学习3. 弱密码 一、概念二、Linux系统密码安全性设置1. 口令复杂度设置2. 生成复杂密码方法(1) 使用keepass开源密码管理软件(2) 使用OpenSSL命令生成随机字符串(3) 在Linux中使用pwgen(4) 使用一些在线网站生成随机密码 3. 弱密码校验破解工具John the ripper 三、一些…

在线摩尔斯密码加密解密工具

在线摩尔斯密码工具&#xff0c;可实现将英文字母数字等转换成摩尔斯密码以及将摩尔斯密码转换成英文与数字的功能。 工具链接&#xff1a;http://www.atoolbox.net/Tool.php?Id764 摩尔斯电码&#xff08;又译为摩斯密码&#xff0c;Morse code&#xff09;是一种时通时断的…

Morse code(摩尔斯电码-摩斯密码)

摩尔斯电码&#xff08;又译为摩斯密码&#xff0c;Morse code&#xff09;是一种时通时断的信号代码&#xff0c;通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年&#xff0c;发明者有争议&#xff0c;是美国人塞缪尔莫尔斯或者艾尔菲德维尔。 摩尔斯…

摩斯密码学习

摩斯密码&#xff08;morse code&#xff09;&#xff0c;是最普遍的密码&#xff0c;无人不知&#xff0c;无人不晓&#xff0c;但很复杂。 是一种图像化密码 O的来源&#xff1a;有三个— — — SOS&#xff1a;. . . — — — . . .

摩斯密码参照表

参考&#xff1a; A .&#xff0d; I . . R .&#xff0d;. 1.&#xff0d;&#xff0d;&#xff0d;&#xff0d; B &#xff0d;. . . J .&#xff0d;&#xff0d;&#xff0d; …

摩尔斯密码输出I LOVE YOU ,SOS

2叉树记忆摩斯密码 摩尔斯密码表 根据以上摩尔斯密码表我们可以分析出来I LOVE YOU相对应的国际摩尔斯密码为&#xff1a;… .-… — …- . -.-- — …- SOS求救的摩尔斯密码为… — …

摩尔斯电码笔记

文章目录 1. 前言2. 什么是摩尔斯电码&#xff1f;3. 摩尔斯电码是如何发明的&#xff1f;4. 摩尔斯电码还在使用吗&#xff1f;5. 如何快速记住6. 体验7. 形式表达8. 相关电影 1. 前言 最近突然想起之前学习过的莫斯密码已经忘记了&#xff0c;发现如果不实践的话&#xff0c…

【算法千题案例】每日LeetCode打卡——95.唯一摩尔斯密码词

&#x1f4e2;前言 &#x1f332;原题样例&#xff1a;唯一摩尔斯密码词&#x1f33b;C#方法&#xff1a;暴力法&#x1f33b;Java 方法&#xff1a;哈希集合 &#x1f4ac;总结 &#x1f4e2;前言 &#x1f680; 算法题 &#x1f680; &#x1f332; 每天打卡一道算法题&…

摩斯密码基础知识介绍

我嗯我可能闲的&#xff0c;就来看看摩斯密码这个著名的无线电编码是怎么回事~ 参考&#xff1a;百度百科https://baike.baidu.com/item/%E6%91%A9%E5%B0%94%E6%96%AF%E7%94%B5%E7%A0%81/1527853?fromtitle%E6%91%A9%E6%96%AF%E5%AF%86%E7%A0%81&fromid397016&fralad…

漫画:什么是摩尔斯电码?

摩尔斯电码是什么 摩尔斯电码&#xff08;Morse code&#xff09;&#xff0c;是1837年由美国人发明&#xff0c;本质上是一种对信息的编码&#xff0c;最初用于人们的远程通信。 那个时候&#xff0c;人们连电话都还没发明出来&#xff0c;更不用说手机和互联网了。人们远程通…

实验四:激光传感器实验,摩尔斯密码

注意&#xff1a;不要直视激光头&#xff0c;它会对你的眼睛造成很大的伤害。 注意&#xff1a;不要直视激光头&#xff0c;它会对你的眼睛造成很大的伤害。 注意&#xff1a;不要直视激光头&#xff0c;它会对你的眼睛造成很大的伤害。 OK&#xff0c;今天来讲一个稍微复杂…

摩斯密码加解密

摩斯密码又叫莫尔斯电码&#xff0c;摩斯电码 著名的SOS救难信号用莫尔斯电码表示为&#xff1a;...---...滴滴滴嗒嗒嗒滴滴滴 一、间隔时间 滴&#xff0c;1t&#xff0c;用.表示嗒&#xff0c;3t&#xff0c;用-表示滴嗒间&#xff0c;1t&#xff0c;不用表示字符间&#xff…

A : 摩斯密码

题目描述&#xff1a; 摩尔斯电码&#xff08;又译为摩斯密码&#xff0c;Morse code&#xff09;是一种时通时断的信号代码&#xff0c;通过不同的排列顺序来表达不同的英文字母、数字和标点符号。为了简单问题&#xff0c;去除所有的标点符号。 现在给你一段摩斯密码&#xf…

摩斯密码

摩斯密码&#xff0c;很多人肯定都听说过它的大名。但是多数人不了解它&#xff0c;认为这是个神一样的领域&#xff0c;难以企及。 但是我要告诉你&#xff0c;你如果想用这个密码日常聊天有些难&#xff0c;但是学两手来秀两手还是可以的。 比如说电影中经常出现的一个摩斯…

摩斯电码/密码入门简介

摩尔斯&#xff1a;是我们生活中非常常见的一种密码形式&#xff0c;例如电报就用的是这个哦 什么是摩尔斯电码&#xff1a; 摩斯电码是一种用于交流的系统&#xff0c;由塞缪尔•莫尔斯发明&#xff0c;它依靠一系列的点和划来传递编码信息。虽然&#xff0c;最初它被设计为…

摩尔斯电码(摩斯电码)

摩尔斯电码 简介电码对照表应用互译工具特殊符号常见缩写交流示例中文与摩斯电码 简介 摩尔斯电码&#xff08;又译为摩斯密码&#xff0c;Morse code&#xff09;是一种时通时断的信号代码&#xff0c;通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837…

没错,我是高端吃瓜玩家(搞懂摩斯密码)

前言 大家好&#xff0c;我是bigsai大赛哥&#xff0c;好久不见&#xff0c;甚是想念。 行了&#xff0c;咱们步入正轨&#xff0c;已经进入2022&#xff0c;在2021这一年&#xff0c;很多人的快乐消遣是在吃瓜快乐中度过的&#xff0c;有的作为主动吃瓜群众第一手掌握消息&…

摩斯密码是什么?

摩斯密码是什么&#xff1f; 摩斯密码&#xff08;摩尔斯电码&#xff09;是一种时通时断的信号代码&#xff0c;通过不同的排列顺序来表达不同的英文字母、数字和标点符号&#xff1b;它的代码包括五种&#xff1a; 点、划、点和划之间的停顿、每个字符之间短的停顿、每个词之…

为什么很多人吐槽谭浩强的C语言程序设计?

这个观点在网络上已经论战了很长时间&#xff0c;出现这种情况还是历史遗留问题&#xff0c;老谭出的C语言教材几乎是国内的第一版&#xff0c;由于中英翻译问题或者对编程文化理解的差异性导致出来的书多多少少存在一些纰漏。不能只是记住其缺点&#xff0c;老谭书最主要在那个…