常见中间件漏洞复现之【Tomcat】!

news2025/1/16 3:48:14

Tomcat介绍

               tomcat是⼀个开源⽽且免费的jsp服务器,默认端⼝ : 8080,属于轻量级应⽤服务器。它可以实现 JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的⼀款环境。
在历史上也披露出来了很多的漏洞 , 这⾥我们讲⼏个经典的漏洞复现
--------------------------

CVE-2017-12615

                 Tomcat put方法任意文件写入漏洞

漏洞描述

               当 Tomcat运⾏在Windows操作系统时,且启⽤了HTTP PUT请求⽅法(例如,将 readonly初始化参数 由默认值设置为false),攻击者将有可能可通过精⼼构造的攻击请求数据包向服务器上传包含任意代码的 JSP ⽂件,JSP⽂件中的恶意代码将能被服务器执⾏。导致服务器上的数据泄露或获取服务器权限。
---------------------------

漏洞原理

               当在Tomcat的conf(配置⽬录下)/web.xml配置⽂件中添加readonly设置为false时,将导致该漏洞产 ⽣,(需要允许put请求) , 攻击者可以利⽤PUT⽅法通过精⼼构造的数据包向存在漏洞的服务器⾥⾯上传 jsp⼀句话⽂件,从⽽造成远程命令执⾏,getshell等。
--------------------------

影响范围

Apache Tomcat 7.0.0 - 7.0.79
Apache Tomcat 8.5.19
--------------------------

环境搭建

cd vulhub-master/tomcat/CVE-2017-12615
docker-compose up -d
---------------------------

漏洞复现

         打开环境访问页面:

首页抓包,修改为 PUT 方式提交  

       Tomcat允许适⽤put⽅法上传任意⽂件类型,但不允许jsp后缀⽂件上传,因此我们需要配合 windows的
解析漏洞.
PUT /shell.jsp%20
PUT /shell.jsp::$DATA
PUT /shell.jsp/ 

 

放包,Webshell客户端⼯具进行连接

漏洞修复

设置readonly 为 true
-------------------------------------------

 后台弱口令部署war包

漏洞原理

            在tomcat8环境下默认进⼊后台的密码为 tomcat/tomcat ,未修改造成未授权即可进⼊后台,或者管理员把密码设置成弱⼝令。

 

-------------------------

影响版本

全版本(前提是⼈家存在弱⼝令)
-------------------------

环境搭建

cd vulhub-master/tomcat/tomcat8
docker-compose up -d
-------------------------

漏洞复现

http://1.15.136.212:8080/manager/html
默认密码:tomcat/tomcat

---------------------------

制作WAR包

制作WAR包,将JSP木马压缩为ZIP格式,然后修改后缀为war就可以了。

 ------------------------

⽂件上传成功后,默认会在⽹站根⽬录下⽣成和war包名称⼀致得⽬录,然后⽬录中得🐎就是压缩前得文件名--------测试连接

-----------------

漏洞修复

1.设置强⼝令:
conf/tomcat-users.xml
<user username="tomcat" password="tomcat" roles="manager- gui,managerscript,manager
jmx,manager-status,admin-gui,admin-script" />
2.删除manger⽂件
---------------------------------------------

 CVE-2020-1938

             Tomcat文件包含漏洞

漏洞原理

由于Tomcat AJP协议设计上的缺陷,攻击者通过Tomcat AJP Connector 可以读取或包含Tomcat上所Webapp⽬录下的任意⽂件,例如:
可以读取webapp配置⽂件或源码⽂件。
此外如果⽬标应⽤有⽂件上传的功能情况下,配合为⽂件包含漏洞利⽤GetShell。
-------------------

影响版本

Apache Tomcat 6
Tomcat 7系列 <7.0.100 Tomcat 8系列 < 8.5.51 Tomcat 9 系列 <9.0.31
-------------------

环境搭建

cd vulhub-master/tomcat/CVE-2020-1938
docker-compose up -d
-------------------

漏洞复现

       搭建环境并且打开点击任何地方都不能输入

打开kali下载cve2020-1938 

        右键在此文件夹打开终端,并且输入 python2 Tomcat-ROOT路径下文件包含(CVE-2020-1938) -p8009 -f 木马文件夹名 ip 

----------------

漏洞修复

1.更新到最新版本
2.关闭AJP服务,修改Tomcat配置文件Service.xml,注释掉。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3.配置ajp配置中的secretRequired跟secret属性来限制认证。
---------------

实战挖洞技巧:

fofa
app="tomcat"
server="Apache Tomcat" && body="Apache Tomcat"

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1985617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫实战:利用代理IP爬取百度翻译

文章目录 一、爬取目标二、环境准备三、代理IP获取3.1 爬虫和代理IP的关系3.2 巨量IP介绍3.3 超值企业极速池推荐3.4 IP领取3.5 代码获取IP 四、爬虫代码实战4.1分析网页4.2 寻找接口4.3 参数构建4.4 完整代码 一、爬取目标 本次目标网站&#xff1a;百度翻译&#xff08;http…

Java I/O (Input/Output)——文件字节流

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;Java SE 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Java I/O 简介 Java I/O&#xff08;输入/输出&#xff09;是 Java 程序中…

抖音ip地址怎么换到别的地方

在数字化时代&#xff0c;抖音作为一款风靡全球的短视频社交平台&#xff0c;让我们的生活充满了无限乐趣与创意。然而&#xff0c;有时我们可能希望自己的抖音能够显示一个不同于当前所在地的IP地址&#xff0c;无论是出于隐私保护、还是其他个性化需求。那么&#xff0c;如何…

Linux学习记录(三)-----文件io和标准io的区别

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言文件IO和标准IO的区别1.\r和\n的区别2.缓冲2.1缓冲区的概念2.2.缓冲区的分类 3.文件IO和标准IO的区别 前言 文件IO和标准IO的区别 1.\r和\n的区别 \r 回车操作…

无人机之植保机篇

一、什么是植保无人机 植保无人机是用于农林植物保护作业的无人驾驶飞机&#xff0c;该型无人飞机由飞行平台、导航飞控、喷洒机构三部分组成&#xff0c;通过地面遥控器或导航飞控&#xff0c;来实现喷洒作业&#xff0c;可以喷洒药剂、种子、粉剂等。目前国内销售的植保无人机…

【已解决】VSCode连接Linux云服务器,代码写着写着服务器突然挂了是怎么回事?

文章目录 1. 问题描述2. 问题原因3. 解决方法 1. 问题描述 在使用 VSCode 连接远程 Ubuntu 云服务器写代码的时候&#xff0c;感觉越写越卡&#xff0c;代码提示半天出不来&#xff0c;最后更是直接断开连接了&#xff1a; 即使把 VSCode 关了&#xff0c;再重启也没用&#x…

五种IO模型与阻塞IO

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 IO本质 我们常说IO就是input&#xff0c;output&#xff0c;也就是输入和输出&#xff0c;但是&#xff0c;他的本质是什么&#xff1f;站在OS角度&#xff0c;站在进程的角度&#xff0c;IO是什么&#xff1f;我们想&#…

申请专利需要准备哪些材料?

申请专利需要准备哪些材料&#xff1f;

代码之外的生存指南——自我营销

你是否有去过酒吧、夜店看过驻场乐队的演出&#xff1f; 你到了那里面听过之后你会发现那些乐队的演唱水平丝毫不亚于原唱的艺术家们&#xff0c;都很有才华&#xff1b; 你有没有想过【为什么这些驻场乐队就只能在那小小的夜店里做驻唱演出&#xff0c;每天疲于奔命&#xff0…

图综述-GGNN详解

A Survey of Geometric Graph Neural Networks:Data Structures, Models and Applications 本文主要介绍了在化学领域的分子设计和预测任务中&#xff0c;如何利用几何图神经网络&#xff08;Geometric Graph Neural Networks&#xff0c;简称GGNN&#xff09;来处理具有几何信…

怎样可以撰写出一篇优质软文呢?

现在这个互联网飞速发展的时代&#xff0c;软文推广已经逐渐变成了现在很多企业和品牌的推广宣传方式了&#xff0c;虽然软文推广操作起来很简单&#xff0c;但是想要做好没那么简单&#xff0c;软文稿件的质量和推广的流量更是息息相关。 好的软文不止可以让转化更高&#xff…

不容忽视!猫咪浮毛问题严重,宠物空气净化器教你一招清理

拥有一只可爱的猫咪&#xff0c;无疑是家庭中温馨与欢乐的源泉&#xff0c;但同时&#xff0c;宠物的毛发管理也成为了不少家庭面临的日常挑战。每当家中四处飘散着它们细腻的毛发&#xff0c;尤其是拥抱过后&#xff0c;衣物上不经意间沾满了轻盈的浮毛&#xff0c;宠物们随着…

【Material-UI】按钮组件的限制及解决方法详解

文章目录 一、ButtonBase 组件与禁用状态的限制1. 默认行为&#xff1a;pointer-events: none示例代码 2. 显示 not-allowed 光标的解决方案方法一&#xff1a;纯 CSS 解决方案方法二&#xff1a;DOM 结构变化 3. 工具提示&#xff08;Tooltip&#xff09;与禁用状态 二、其他常…

Javascript——原始数据类型的自动装箱

自动装箱 聊个例子介绍例子 聊个例子 ‘asd’.length //这其中是怎么执行的在 JavaScript 中&#xff0c;字符串是原始数据类型&#xff08;primitive data type&#xff09;&#xff0c;但它们表现得像对象&#xff0c;因为它们有属性和方法。当你对一个字符串使用 .length 属…

原型图绘制技巧

针对于 Axure RP绘图软件。 1、拉辅助线 目的&#xff0c;确定画布大小尺寸从上面和左面的刻度尺上&#xff0c;点击鼠标&#xff0c;拖动&#xff0c;就可以拉出一条线。 2、画布底模设为组件 右键转换为母版&#xff0c;方便后续其他页面使用 3、按钮 按钮字体不要太大&am…

【Material-UI】Button 组件自定义详解

文章目录 一、自定义 Button 组件的基础1. 基于 styled 方法的自定义2. styled 方法详解3. 覆盖默认样式 二、高级自定义技巧1. 主题色彩与调色板2. 无障碍性与响应式设计 三、集成与测试1. 集成到项目中2. 测试自定义样式 四、总结 在使用 Material-UI 开发 Web 应用时&#x…

动态贝叶斯网络DBN介绍

动态贝叶斯网络DBN介绍 1. 引言2. 贝叶斯网络与动态贝叶斯网络2.1 贝叶斯网络简介2.2 动态贝叶斯网络详细介绍2.3 两种网络对比 3. 搭建动态贝叶斯网络的方法3.1 定义网络结构3.2 参数学习3.3 推理3.4 结构学习和参数学习的方法3.4.1 结构学习3.4.2 参数学习 4. 总结5. 参考文献…

【医学影像】无痛安装mamba

去年编辑的一个帖子。摆了一段时间后重新回归&#xff0c;发送一下作为状态分界线。 很癫狂的体验&#xff0c;man&#xff0c;what can i say&#xff01; issue查看我的狗急跳墙状态 1.确定版本 cuda nvcc -Vpython python --versiontorch pip show torch2.下载对应版本…

电燃灶(电焰灶)、燃气灶、电磁炉,谁更契合中国人的烹饪习惯?

中国人的烹饪文化源远流长&#xff0c;丰富多样的烹饪方式和独特的口味需求造就了对炉灶的严格要求。在现代厨房中&#xff0c;电燃灶&#xff08;电焰灶&#xff09;、燃气灶和电磁炉成为了常见的选择。那么&#xff0c;究竟哪一种更适合中国人的烹饪习惯呢&#xff1f; 一、明…

[Paddle] 从零安装 Paddle 框架

1 安装前准备 1.1 安装环境 本机安装环境如下&#xff1a; 运行环境操作系统Ubuntu 22.04.4 LTS (Jammy Jellyfish)CPUIntel Core™ i5-12400显卡NVIDIA GeForce RTX 4090 1.2 验证 GPU 是否为 NVIDIA GPU 在命令行输入以下代码&#xff0c;以验证您的 GPU 是否是 NVIDIA …