【vulhub靶场】Tomcat中间件漏洞复现

您所在的位置:网站首页 8009端口如何打开 【vulhub靶场】Tomcat中间件漏洞复现

【vulhub靶场】Tomcat中间件漏洞复现

2024-07-13 21:42:52| 来源: 网络整理| 查看: 265

【vulhub靶场】Tomcat中间件漏洞复现 一、Tomcat AJP 任意文件读取/包含漏洞 (CVE-2020-1938)1. 漏洞描述2. 影响版本3. 漏洞原理4. 漏洞复现 二、任意文件写入漏洞 (CVE-2017-12615)1. 漏洞原理2. 影响版本3. 漏洞复现 三、Tomcat 弱密码 && 后端 Getshell 漏洞1. 漏洞描述2. 影响版本3. 漏洞复现

Tomcat介绍

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。

一、Tomcat AJP 任意文件读取/包含漏洞 (CVE-2020-1938) 1. 漏洞描述

Apache Tomcat文件包含漏洞是由Tomcat AJP协议存在缺陷而导致,可利用该漏洞通过构造特定参数进行文件包含操作,进而读取受影响Tomcat服务器上的Web应用目录下的任意文件,如配置文件或源代码等。此外,如果目标应用有文件上传功能,攻击者还可以利用这个漏洞配合文件包含来实现远程代码执行,从而控制整个系统。

2. 影响版本 Apache Tomcat 6 Apache Tomcat 7 < 7.0.100 Apache Tomcat 8 < 8.5.51 Apache Tomcat 9 < 9.0.31 3. 漏洞原理

Tomcat 配置了两个Connecto,它们分别是 HTTP 和 AJP :HTTP默认端口为8080,处理http请求,而AJP默认端口8009,用于处理 AJP 协议的请求,而AJP比http更加优化,多用于反向、集群等,漏洞由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件以及可以包含任意文件,如果有某上传点,上传图片马等等,即可以获取shell

tomcat默认的conf/server.xml中配置了2个Connector,一个为8080的对外提供的HTTP协议端口,另外一个就是默认的8009 AJP协议端口,两个端口默认均监听在外网ip。 在这里插入图片描述

4. 漏洞复现 复现环境:vulhub靶场+kali2023

开启靶机

root@Fly:~/vulhub/tomcat/CVE-2020-1938# docker compose build root@Fly:~/vulhub/tomcat/CVE-2020-1938# docker compose up -d

在这里插入图片描述

扫描靶机开放的端口 ┌──(root㉿kali)-[/home/kali/Desktop] └─# nmap -sV -p- 192.168.111.146

发现8080端口开启(AJP默认端口8009)

利用poc进行漏洞检测,若存在漏洞则可以查看webapps目录下的所有文件 ┌──(root㉿kali)-[/home/kali/Desktop] └─# git clone https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

在这里插入图片描述 3. 尝试读取8009端口下的web.xml文件

┌──(root㉿kali)-[/home/kali/Desktop] └─# cd CNVD-2020-10487-Tomcat-Ajp-lfi ┌──(root㉿kali)-[/home/kali/Desktop/CNVD-2020-10487-Tomcat-Ajp-lfi] └─# python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py -p 8009 -f /WEB-INF/web.xml 192.168.111.146

存在CVE-2022-1938漏洞,使用相关poc测试发现成功拉取到文件 在这里插入图片描述 在这里插入图片描述

二、任意文件写入漏洞 (CVE-2017-12615) 1. 漏洞原理

由于配置不当(非默认配置),将配置文件conf/web.xml中的readonly设置为了 false,导致可以使用PUT方法上传任意文件,但限制了jsp后缀的文件。 默认情况下 readonly 为 true,当 readonly 设置为 false 时,可以通过 PUT / DELETE 进行文件操控并可以执行任意代码。

2. 影响版本 主要影响的是Tomcat : 7.0.0-7.0.81 3. 漏洞复现

【vulhub靶场】 开启环境,并且查看配置文件conf/web.xml中的readonly是否设置为 false

root@Fly:~/vulhub/tomcat/CVE-2017-12615# docker compose build root@Fly:~/vulhub/tomcat/CVE-2017-12615# docker compose up -d root@Fly:~/vulhub/tomcat/CVE-2017-12615# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 930557c071d3 cve-2017-12615-tomcat "catalina.sh run" 20 minutes ago Up 19 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp cve-2017-12615-tomcat-1 root@Fly:~/vulhub/tomcat/CVE-2017-12615# docker exec -ti 930557c071d3 bash root@930557c071d3:/usr/local/tomcat# ls LICENSE RELEASE-NOTES bin include logs temp work NOTICE RUNNING.txt conf lib native-jni-lib webapps root@930557c071d3:/usr/local/tomcat# cat conf/web.xml | grep readonly readonlyfalse

在这里插入图片描述 可以看到这里Tomcat 设置了写入权限(readonly=false),这导致了我们可以将文件写入服务器的结果。

成功运行上述命令后,通过访问网站看到 Tomcat 的示例页面。http://your-ip:8080

在这里插入图片描述 抓包可以看到是GET方法,进行修改

在这里插入图片描述 修改为PUT方法,写入一个1.txt并向其文件中写入内容

在这里插入图片描述 然后进入服务器查看,成功将1.txt写入服务器中。

在这里插入图片描述 Tomcat 在一定程度上检查了文件后缀(不能直接写 jsp),直接上传导致报错,但我们还是可以通过一些文件系统功能绕过限制。 在这里插入图片描述 方法一:使用斜杠/,斜杠在文件名中是非法的,所以会被去除(Linux和Windows中都适用)

在这里插入图片描述 从服务器可以看到成功写入jsp后缀的文件 在这里插入图片描述 方法二:首先使用%20绕过。%20对应的是空格,在windows中若文件这里在jsp后面添加%20即可达到自动抹去空格的效果。

在这里插入图片描述 从服务器可以看到,成功上传jsp后缀的文件 在这里插入图片描述 方法三:使用Windows NTFS流,在jsp后面添加::$DATA

在这里插入图片描述

在这里插入图片描述

三、Tomcat 弱密码 && 后端 Getshell 漏洞 1. 漏洞描述

Tomcat 支持通过后端部署 war 文件,因此我们可以直接将 webshell 放入 web 目录下。为了访问后端,需要权限。在tomcat8环境下,默认的后台密码为tomcat:tomcat,未修改默认密码就会造成未经授权的后台访问。

2. 影响版本 Tomcat 8.0版本

Tomcat7+的权限如下:

manager(后台管理)manager-gui(html页面权限)manager-status(查看状态的权限)manager-script(文本界面权限和状态权限)manager-jmx(jmx 权限和状态权限)

host-manager(虚拟主机管理)

admin-gui(html页面权限)admin-script(文本界面权限) 3. 漏洞复现

开启靶机

在这里插入图片描述 弱口令进入(账号:tomcat 密码:tomcat) 在这里插入图片描述 再使用哥斯拉生成一个jsp木马文件在这里插入图片描述 在这里插入图片描述 压缩完成之后进行更改后缀,zip—> war,进行上传

在这里插入图片描述

在这里插入图片描述 点击进入之后会发现报错,先不要慌 在这里插入图片描述 加上文件名即可,发现无报错,但是啥也没有显示,说明上传成功了。

在这里插入图片描述 使用哥斯拉连接 在这里插入图片描述 在这里插入图片描述 连接成功,拿到webshell进入后门。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭