一、漏洞原理介绍

  • Tomcat弱口令&WAR远程部署漏洞的原理主要涉及Tomcat服务器的默认密码设置不当和WAR文件远程部署功能的潜在安全风险。

  • 首先,关于Tomcat弱口令漏洞,Tomcat在默认情况下可能使用简单的密码(如“tomcat/tomcat”)作为进入后台管理的凭证。如果管理员没有修改这个默认密码或者将密码设置为过于简单、易于猜测的弱口令(如“123456”、“admin”、“password”等),那么攻击者就有可能利用这些弱口令尝试登录Tomcat服务器。一旦成功登录,攻击者将获得服务器的控制权,能够执行任意操作,包括上传恶意代码。

  • 其次,关于WAR远程部署漏洞,Tomcat支持通过HTTP请求远程部署WAR文件(Web应用程序归档文件)。如果Tomcat服务器允许未经授权的用户上传WAR文件,并且没有对上传的文件进行严格的验证和过滤,那么攻击者就有可能利用这个漏洞上传包含恶意代码的WAR文件。一旦恶意WAR文件被部署到服务器上,攻击者就可以通过访问该WAR文件来执行其中的恶意代码,从而控制服务器。

二、漏洞复现

  • 靶机:ubuntu22.04(中间件用)

  • 打开靶机,在终端分别输入以下命令

  • docker images     //查看镜像ID

docker run -d -p 8080:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=10.10.10.136 8e55f85571c8

  • sudo docker exec -it practical_snyder /bin/bash

  • 敲完后,在浏览器防问靶场IP+8080端口,看到靶场首页(登录账号密码都是admin)

  • 登录后,点击左侧镜像管理,然后点击右上角的一键同步(更新镜像源)

  • 更新完之后,搜索tomcat-pass-getshell,然后点击下载

  • 下载完后在主页启动靶场环境,访问靶场地址

  • 进入靶场后,点击右侧Manager App,然后通过弱口令(账号密码都是tomcat)登录成功

打开冰蝎工具里的sever文件夹,将shell.jsp文件压缩为zip文件,接着,将这个zip文件改为war

  • 此时上传这个war文件

上传成功后,这个文件会被自动解压,新增一个shell路径,shell路径下就会存在我们上传的后门,然后用冰蝎连接这个后门文件,发现成功建立连接

三、修复方案

  • 设置强口令

  • 将管理tomcat的manager文件删除

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。