Tomcat远程部署漏洞

影响范围

所有的tomcat版本

漏洞原理

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

漏洞复现

vulhub搭建靶场,vulhub里代码代号为tomcat8

Tomcat远程部署漏洞_第1张图片

访问搭建起来的靶场

Tomcat远程部署漏洞_第2张图片

默认密码进入后台

制作木马文件

Tomcat中间件远程部署漏洞的时候需要将源码打包成war包

War包中包含三个部分的内容:meta-inf、web-inf、木马文件(这里木马使用哥斯拉制作)

Meta-inf:META-INF 相当于一个信息包,目录中的文件和目录获得 Java 2 平台的认可与解释,用来配置应用程序、扩展程序、类加载器和服务manifest.mf文件,在打包时自动生成。简单的说法:就是存储了项目的元信息,其中文件manifest.mf仅此一份,描述了程序的基本信息、Main-Class的入口、jar依赖路径Class-Path。

Web-inf:WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

WAR包制作有两个方式:

先将目标文件利用工具压缩成zip文件,在上传前将后缀名从zip更改为war

利用java命令制作war

命令是:jar -cvf shell.war shell.jsp web-inf meta-inf

在目录里打开cmd

Tomcat远程部署漏洞_第3张图片

Tomcat远程部署漏洞_第4张图片

Tomcat远程部署漏洞_第5张图片

 jar命令出现问题可能是环境变量的问题

参考:

win10解决‘jar’不是内部或外部命令,也不是可运行的程序 的问题_jar不是内部或外部命令-CSDN博客

上传木马文件

找到远程部署war包的功能点,选择上传的war包并且上传

Tomcat远程部署漏洞_第6张图片

War包上传后,tomcat会自动解压,会将war包中的内容放在一个文件夹中,文件夹的名就是war包的名字

Tomcat远程部署漏洞_第7张图片

Tomcat远程部署漏洞_第8张图片

解析木马文件

访问木马控制服务器,使用哥斯拉连接

Tomcat远程部署漏洞_第9张图片

Tomcat远程部署漏洞_第10张图片

Tomcat远程部署漏洞_第11张图片

漏洞修复

改密码就可以,功能点没有问题

你可能感兴趣的:(tomcat)