当前位置: 首页 > news >正文

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

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"

相关文章:

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

Tomcat介绍 tomcat是⼀个开源⽽且免费的jsp服务器&#xff0c;默认端⼝ : 8080&#xff0c;属于轻量级应⽤服务器。它可以实现 JavaWeb程序的装载&#xff0c;是配置JSP&#xff08;Java Server Page&#xff09;和JAVA系统必备的⼀款环境。 在历史上也披露出来了很多的漏洞 …...

C++并发编程(一):线程基础

简介 本文学习的是 b 站 up 恋恋风辰的并发编程教学视频做的一些笔记补充。 教程视频链接如下&#xff1a;线程基础&#xff1a;视频教程 文档链接如下&#xff1a;线程基础&#xff1a;笔记文档 理论上直接看 up 提供的笔记文档即可&#xff0c;我这里主要是记录一些我自己…...

enq: HW - contention事件来啦

业务系统反应数据库慢&#xff0c;根据时间查看awr报告。 先看一眼事件名称 HW enqueue 用于序列化超出段高水位线的空间分配。如果同时向对象添加大量数据&#xff0c;则多个进程可能同时尝试在高水位线上方分配空间&#xff0c;从而导致争用。 既然是控制资源并发的enq&…...

MyBatis补充

控制类和dao层接口以及mapper中的xml是怎样的关联的&#xff1f; 在Mybatis中&#xff0c;控制类和dao层接口是通过mapper的xml文件进行连接的。 控制类调用dao层接口中的方法&#xff0c;通过接口实现进行访问数据库操作。dao层接口定义数据库操作的方法&#xff0c;提供给控制…...

系统架构师(每日一练16)

每日一练 答案与解析 1.软件测试一般分为两个大类:动态测试和静态测试。前者通过运行程序发现错误&#xff0c;包括()等方法;后者采用人工和计算机辅助静态分析的手段对程序进行检测&#xff0c;包括()等方法。答案与解析 问题1 A.边界值分析、逻辑覆盖、基本路径 B.桌面检查、…...

实践致知第17享:电脑忽然黑屏的常见原因及处理方法

一、背景需求 小姑电话说&#xff1a;最近&#xff0c;电脑忽然就黑屏了&#xff08;如下图所示&#xff09;&#xff0c;但是等待几十秒甚至一分钟&#xff0c;电脑就能自然恢复了&#xff0c;这种状况一天能出现三四次&#xff0c;怎么办&#xff1f; 二、分析诊断 电脑黑屏…...

微信小程序--实现地图定位---获取经纬度

(1) (2) (3) html: <view class"titleTwo" style"border: none;"><view class"fontSize30 invoiceTile">企业地址</view><view class"invoiceRight" bind:tap"tapChooseAddress" data-maptype"…...

【Python系列】使用 `isinstance()` 替代 `type()` 函数

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

【多模态大模型】 BLIP-2 in ICML 2023

一、引言 论文&#xff1a; BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 作者&#xff1a; Salesforce Research 代码&#xff1a; BLIP-2 特点&#xff1a; 该方法分别使用冻结的图像编码器&#xff08;ViT-L/…...

HPC高性能计算平台

随着技术的发展和数据量的爆炸性增长&#xff0c;企业面临的挑战日益复杂&#xff0c;对计算能力的需求也在不断增加。这些问题的解决超出了传统计算方法的能力范围&#xff0c;高性能计算&#xff08;HPC&#xff09;正是为解决这类问题而生。 高性能计算&#xff08;HPC&…...

前端常用的几个工具网站

觉得不错的前端工具类网站 1、Grid布局生成 https://cssgrid-generator.netlify.app 2、拟物按钮样式生成 https://neumorphism.io 3、玻璃形态效果 在线制作CSS玻璃形态 4、一些Button、checkBox、switch、card的css样式 零代码 - 精美CSS样式库 5、CSS阴影生成 在线创建…...

支付功能之代收代付

有很多老板问小编&#xff1a;“这个分账功能好是好&#xff0c;也能搞定项目中的二清问题和税务纠纷&#xff0c;但还是太复杂了&#xff0c;每次要添加被分账对象都需要提交材料进行审核&#xff0c;太繁琐了&#xff0c;有没有更方便快捷的支付产品来解决资金问题&#xff1…...

QPixmap

pixel[ˈpɪksl]像素 QPixmap 是 Qt 框架中用于处理图像的一个类。它主要用于在屏幕上显示和处理图像&#xff0c;提供了许多实用的功能&#xff0c;如加载、保存、缩放、旋转、合并等。 绘制 从文件加载&#xff1a;从指定文件加载图像。 QPixmap pixmap(":/images/exam…...

Laravel门面之下:构建自定义门面应用的艺术

Laravel门面之下&#xff1a;构建自定义门面应用的艺术 在Laravel框架中&#xff0c;门面&#xff08;Facade&#xff09;提供了一种将类静态调用与面向对象代码解耦的优雅方式。门面是一个全局可访问的类&#xff0c;它为底层复杂的服务提供了一个简单的接口。然而&#xff0…...

智启万象 | 2024 Google 开发者大会直播攻略

8 月 7 日上午 9:30 2024 Google 开发者大会 主旨演讲直播将准时开启 想要在线上探索大会精彩内容&#xff1f; 快查收这份观看指南&#xff01; 8 月 7 日上午 9:30 2024 Google 开发者大会开幕 锁定大会官网观看主旨演讲现场直播&#xff01; 本次大会内容将同步于多个…...

技巧:print打印内容到控制台时信息显示不全

# 请求一个接口&#xff0c;res是响应内容&#xff0c;使用res.text打印的信息不全 #使用流式处理响应 #如果你需要流式处理大的响应&#xff0c;确保你在处理响应内容的同时不会提前结束流。resself.request_base(select_api,change_datachange_data)print("")# pri…...

3.表的操作

目录 创建表 创建表案例&#xff1a; 查看表结构 修改表 1.增加新列 2.修改列的属性 3.删除列 4.修改表名 5.修改列 删除表 创建表 语法&#xff1a; CREATE TABLE [IF NOT EXISTS] table_name(field1 datatype1 [COMMENT 注释信息],field2 datatype2 [COMMENT 注释…...

AI回答:C#项目编译后生成部分文件的主要职责

【引入】以ConsoleApp1为例&#xff0c;请问C#编译之后以下文件有啥用 1.bin\runtimes 文件夹存放什么&#xff0c;有什么用&#xff1f; bin\runtimes 文件夹存放了项目的运行时相关文件&#xff0c;这些文件包括了各种目标平台的运行时库。 2.bin\生成的exe文件可以在别的电脑…...

RPC通信的简单流程

远程调用者假设需要调用Login方法&#xff0c;将调用的信息通过muduo库&#xff0c;同时进行了序列化和反序列化&#xff0c;发送到Rpcprovider上&#xff0c;RpcProvider通过对象和方法表来确定需要调用哪个服务对象的哪个方法。 UserRpcServiceRpc和UseRpcServiceRpcStub是继…...

前端发版(发包)缓存,需要强制刷新问题处理

问题原因&#xff1a; 浏览器问题 一、创建初始版本文件(public/version.json) { "version": "1722240835844" }二、设置版本判断&#xff08;version.js&#xff09; import axios from "axios";const isNewVersion () > {let baseUrl …...

email2phonenumber与Phonerator对比分析:选择最适合你的OSINT工具

email2phonenumber与Phonerator对比分析&#xff1a;选择最适合你的OSINT工具 【免费下载链接】email2phonenumber A OSINT tool to obtain a targets phone number just by having his email address 项目地址: https://gitcode.com/gh_mirrors/em/email2phonenumber e…...

告别‘打架’的目标:用CMPSO算法轻松搞定多目标优化(Python代码实战)

告别‘打架’的目标&#xff1a;用CMPSO算法轻松搞定多目标优化&#xff08;Python代码实战&#xff09; 想象一下&#xff0c;你正在设计一款新型电动汽车&#xff0c;需要同时优化续航里程、制造成本和充电速度。这三个目标就像三个固执的谈判代表&#xff0c;各自坚持己见—…...

没有后台服务的鸿蒙应用,算不算“半成品”?——本地 Service Extension 开发真香指南

大家好&#xff0c;我是[晚风依旧似温柔]&#xff0c;新人一枚&#xff0c;欢迎大家关注~ 本文目录&#xff1a;前言一、ExtensionAbility 类型&#xff1a;先搞清“职业分工”&#xff0c;再谈用谁干活1️⃣ ExtensionAbility 大家族速览二、后台服务场景&#xff1a;哪些事儿…...

从零理解RISC-V链接脚本:用一张图搞懂VMA、LMA与启动代码的搬运逻辑

RISC-V链接脚本深度解析&#xff1a;VMA与LMA的内存搬运艺术 当第一次在RISC-V启动代码中看到那段神秘的"数据搬运"汇编时&#xff0c;我盯着屏幕发呆了十分钟——为什么程序要把已经烧写到Flash的数据再复制到RAM&#xff1f;这个看似简单的操作背后&#xff0c;隐藏…...

从本地到云端:FastAPI服务器部署的5个必知要点(避坑指南)

从本地到云端&#xff1a;FastAPI服务器部署的5个必知要点&#xff08;避坑指南&#xff09; 当你兴奋地完成了一个FastAPI应用的开发&#xff0c;准备将它从本地环境迁移到云端服务器时&#xff0c;可能会遇到各种意想不到的问题。接口无法访问、性能突然下降、请求超时...这些…...

【实战解析】陌陌开源 LinkWork(灵工):企业级 AI 员工平台,一岗位一镜像的 K8s Agent 架构全拆解

陌陌开源了 LinkWork&#xff08;灵工&#xff09;&#xff0c;一个企业级 AI Agent 平台。本文从技术架构&#xff08;一岗位一镜像、三层能力边界、MCP 工具总线&#xff09;、部署方式&#xff08;Docker Compose / K8s&#xff09;、与 Dify 和 DeerFlow 的对比、适用场景等…...

5款降重降AI工具实测 2026毕业季首选SpeedAI科研小助手

2026年毕业季临近&#xff0c;知网、维普、Turnitin等主流学术检测平台的AIGC检测算法已完成新一轮迭代升级&#xff0c;论文AI生成率不再是无关紧要的附加指标&#xff0c;而是直接影响审核通过、答辩资格的核心门槛。教育部对学术成果中AI使用的规范要求不断收紧&#xff0c;…...

从Matlab到FPGA:A律13折线PCM编码的Verilog实现与仿真

1. 从理论到实践&#xff1a;A律13折线PCM编码基础 第一次接触A律13折线PCM编码时&#xff0c;我被那些分段量化的规则绕得头晕。直到把Matlab生成的测试数据用Verilog在FPGA上跑通&#xff0c;才真正理解这个经典算法的精妙之处。**PCM&#xff08;脉冲编码调制&#xff09;**…...

BabelDOC企业级离线部署实战指南:5步构建安全文档翻译系统

BabelDOC企业级离线部署实战指南&#xff1a;5步构建安全文档翻译系统 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 在数据安全合规要求日益严格的今天&#xff0c;企业级文档翻译工具必须提…...

Visio中高效导出无白边SVG矢量图的完整指南

1. 为什么需要无白边SVG矢量图&#xff1f; 写论文或者做演示文稿时&#xff0c;经常需要在文档中插入各种图表。Visio作为一款专业的绘图工具&#xff0c;能够帮助我们快速创建流程图、架构图等专业图形。但直接将Visio图形导出为SVG格式时&#xff0c;往往会发现图片周围有大…...