关于Web中间件漏洞的Tomcat文章

发布者:上海IT外包来源:http://www.lanmon.net点击数:1854

1. Tomcat简介
Tomcat服务器是一个免费的开源Web应用程序服务器。它是一个轻量级的应用服务器。它广泛用于中小型系统和并发访问用户。它是开发和调试JSP程序的首选。
对于初学者,可以说当在机器上配置Apache服务器时,它可以用于响应HTML(标准通用标记语言下的应用程序)页面的访问请求。实际上,Tomcat是Apache服务器的扩展,但它在运行时独立运行,因此在运行tomcat时,它实际上是作为一个独立的进程从Apache运行的。
2.远程代码执行
漏洞介绍和原因
Tomcat在Windows主机上运行,并启用了HTTP PUT请求方法。包含任意代码的JSP文件可以通过构造的攻击请求上传到服务器,从而导致任意代码执行。
影响版本:Apache Tomcat 7.0.0  -  7.0.81
漏洞再现
配置漏洞,打开put方法上传文件。
将/conf/web.xml文件插入tomcat文件夹
只读

重启tomcat服务
访问127.0.0.1:8080,突发捕获,发送到Repeater,将请求模式更改为PUT,创建122.jsp,并使用%20来转义空格字符。 123.jsp的内容是:
返回201,表示创建成功。
访问127.0.0.1:8080/122.jsp?cmd=calc
弹出计算器
错误修复
1)检查当前版本是否在影响范围内并禁用PUT方法。
2)更新并升级到最新版本。
3.后台弱密码war包部署
漏洞介绍和原因
Tomcat支持在后台部署war文件,您可以将webshell直接部署到Web目录。
如果后台管理页面中存在弱密码,则可以通过爆破获取密码。
漏洞再现
Tomcat安装目录的conf目录中的Tomcat-users.xml如下所示访问后台,登录
上传一个war包,里面是jsp后门
成功上传和解析,打开
可执行系统命令
您还可以随意管理文件以及查看,删除和上传文件。
错误修复
1)在系统上以低权限运行Tomcat应用程序。创建一个专用的Tomcat服务用户,该用户只能拥有最少的权限集(例如,不允许远程登录)。
2)为本地和基于证书的身份验证添加帐户锁定机制(对于集中身份验证,还相应地配置目录服务)。在CATALINA_HOME/conf/web.xml文件中设置锁定机制和超时限制。
3)为目录页面设置最小访问限制,例如manager-gui/manager-status/manager-script。
4)后台管理避免了弱密码。
4.反序列化漏洞
漏洞介绍和原因
由于使用了JmxRemoteLifecycleListener侦听器功能,此漏洞与以前的Oracle的mxRemoteLifecycleListener反序列化漏洞(CVE-2016-3427)有关。在Oracle正式发布修复程序后,Tomcat无法修复由更新引起的远程代码执行。
此漏洞的根本原因是Tomcat在配置JMX进行监视时使用JmxRemoteLifecycleListener方法。
漏洞影响版本:
ApacheTomcat 9.0.0.M1到9.0.0.M11
ApacheTomcat 8.5.0到8.5.6
ApacheTomcat 8.0.0.RC1到8.0.38
ApacheTomcat 7.0.0到7.0.72
ApacheTomcat 6.0.0到6.0.47
漏洞再现
使用条件:外部需要打开JmxRemoteLifecycleListener监控的10001和10002端口,以实现远程代码执行。
在conf/server.xml的第30行中,配置允许JmxRemoteLifecycleListener函数侦听的端口:
配置jmx端口后,下载catalina-jmx-remote.jar并下载与tomcat版本对应的extras /目录中的groovy-2.3.9.jar jar包。下载完成后,将其放在lib目录中。
然后转到bin目录并修改catalina.bat脚本。在ExecuteThe Requested Command注释之前添加这样一行。重启tomcat并侦听本地1000和1000 RMI服务端口是否成功运行。
构造有效负载,弹出计算器
计算器成功弹出。
错误修复
1.关闭JmxRemoteLifecycleListener函数,或对jmx JmxRemoteLifecycleListener远程端口执行网络访问控制。同时,增加严格的认证方法。
2,根据官方升级相应版本的更新。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部