深入浅出带你学习Tomcat中间件常见漏洞

前言

前文给大家带来了NIGINX中间件的漏洞,今天给大家带来的是Tomcat中间件的常见漏洞,这也是一个应用非常广泛的中间件服务,下面会展开给大家讲解。

什么是Tomcat?

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。它的特点可以简单简述为:

1.配置简单

2.安全管理

3.易操作

4.集成方便

了解完上述内容后,我们来学习一下Tomcat常见的漏洞以及利用方法。

Tomcat 任意文件写入

该漏洞编号为CVE-2017-12615,当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求方法,可以利用恶意攻击请求向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被服务器执行。影响版本如下:

Apache Tomcat 7.0.0 - 7.0.79

下面来看看攻击实例,我们在主机部署Tomcat服务后访问网站:

访问网站后使用抓包工具进行抓包修改数据:请求包GET方式改为PUT方式,然后上传JSP木马,发送后服务器返回给了我们201,之后我们使用蚁剑尝试连接:

成功连接后门木马,可以发现该漏洞就是因为PUT上传方式来上传恶意文件,危害还是非常大的。修复方法也十分简单,禁用PUT传参方式,代码如下:

<init-param>
<param-name>readonly</param-name>
<param-value>true</param-value>
</init-param> 

Tomcat 远程代码执行

漏洞编号为CVE-2019-0232,漏洞利用点在于enableCmdLineArguments选项的CGI Servlet中,与JRE向Windows传递参数过程中的bug有关。运用此漏洞可允许远程攻击者在目标服务器上执行任意命令,也就是说服务器可以被控制,影响版本如下:

Apache Tomcat 9.0.0.M1 to 9.0.17

Apache Tomcat 8.5.0 to 8.5.39

Apache Tomcat 7.0.0 to 7.0.93

复现时我们首先需要在conf\ web.xml中删除注释以及添加以下代码:

修改conf/context.xml文档中的Context添加:

privileged=“true” 

环境搭建完成后在webapps/ROOR/WEB-INF目录下新建cgi-bin文件夹,并在文件夹内创建bat文件:

@echo off
echo Content-Type: test/plain
echo.
set foo=&~1
%foo% 

之后在站点访问以下URL来进行命令执行弹出计算机:

cgi-bin/hello.bat?&C:\Windows\System32\calc.exe 

弱口令

Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下,网站存在manager后台,需要我们输入用户名和密码,默认为:

tomcat/tomcat 

进入到管理页面发现可以上传文件,我们将shell.jsp(木马文件)打包成war包进行上传:

上传之后可以用WEBSHELL管理工具去进行连接,这里弱口令的爆破可以使用BURPSUITE自带的ATTACK模块导入字典,或者使用MSF自带的爆破模块:

use auxiliary/scanner/http/tomcat_mgr_login 

只需要我们注意设置我们攻击的IP与端口:

set rhosts ip
set rport 8080 

该漏洞适合当没有什么思路时去尝试,因为有很多人会忘记设置密码导致弱口令漏洞,从而攻击者上传木马去进行GETSHELL,这也相当于一个组合漏洞弱口令+文件上传漏洞,利用好的话危害还是非常大的。很有可能作为跳板来进行渗透攻击。

结语

本文给大家带来了Tomcat中间件的一些常见漏洞知识,相比于之前的中间件可能会发现利用方式增加了许多,攻击手法变得多样了,当然本文只是提了几个常见的,还有很多漏洞没有讲到,有兴趣的小伙伴可以自行去了解一下。

最后

整理了一套《前端大厂面试宝典》,包含了HTML、CSS、JavaScript、HTTP、TCP协议、浏览器、VUE、React、数据结构和算法,一共201道面试题,并对每个问题作出了回答和解析。

有需要的小伙伴,可以点击文末卡片领取这份文档,无偿分享

部分文档展示:



文章篇幅有限,后面的内容就不一一展示了

有需要的小伙伴,可以点下方卡片免费领取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值