影响范围
所有的tomcat版本
漏洞原理
在tomcat8环境下默认进入后台的密码为tomcat/tomcat,未修改造成未授权即可进入后台,或者管理员把密码设置成弱口令, 使用工具对其进行穷举。得到密码后,也可以进行后台上传恶意代码控制服务器。
漏洞复现
vulhub搭建靶场,vulhub里代码代号为tomcat8
访问搭建起来的靶场
默认密码进入后台
制作木马文件
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
jar命令出现问题可能是环境变量的问题
参考:
win10解决‘jar’不是内部或外部命令,也不是可运行的程序 的问题_jar不是内部或外部命令-CSDN博客
上传木马文件
找到远程部署war包的功能点,选择上传的war包并且上传
War包上传后,tomcat会自动解压,会将war包中的内容放在一个文件夹中,文件夹的名就是war包的名字
解析木马文件
访问木马控制服务器,使用哥斯拉连接
漏洞修复
改密码就可以,功能点没有问题