本文介绍: 那么Tomcat就会删除之前的War解压文件夹,重新解压新的War包。导致信息泄露相关分析这是由于在请求https时候重定向http连接这个过程会导致会话劫持风险,造成Cookie或Session安全传输攻击者利用漏洞可在未授权的情况下泄漏 Cookie 或 Session,最终造成服务器敏感信息泄露。改变,包括webinf/class,weninf/lib,webinf/web.xml文件,若发生更改,则局部进行加载,不清空session ,不释放内存

一、漏洞描述

在这里插入图片描述

Apache Tomcat软件是Jakarta Servlet、 Jakarta Server Pages、 Jakarta Expression Language、 Jakarta WebSocket、 Jakarta Annotations和 Jakarta Authentication 规范开源实现 。Apache Tomcat实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理控制平台安全管理和Tomcat阀等。Tomcat 服务器作为一个免费开放源代码的Web 应用服务器属于轻量级应用服务器,在中小型系统并发访问用户不是很多的场合下被普遍使用,是开发调试JSP 程序的首选。2023 年 3 月 22日安全机构发布 Apache Tomcat 存在安全漏洞,该漏洞源于用户代理通过安全通道传输会话 cookie导致信息泄露相关分析这是由于在请求https时候重定向http连接这个过程会导致会话劫持风险,造成Cookie或Session安全传输攻击者利用漏洞可在未授权的情况下泄漏 Cookie 或 Session,最终造成服务器敏感性信息泄露

基本信息:漏洞类型敏感信息泄露
CVE编码:CVE-2023-28708
cvss评分:4
威胁等级:中危
公布时间:2023-03-22 00:00:00
影响范围现场版本tomcat 9.0.46

11.0.0-M1 ≤ Apache Tomcat ≤ 11.0.0-M2
10.1.0-M1 ≤ Apache Tomcat ≤ 10.1.5
9.0.0-M1 ≤ Apache Tomcat ≤ 9.0.71
8.5.0 ≤ Apache Tomcat ≤ 8.5.85

二、漏洞处理

1)版本确认

#Windows 执行
catalina version

#linux
sh ./bin/version.sh

2)官方修复建议

当前官方发布最新版本,建议影响用户及时更新升级最新版各个版本链接如下

Apache Tomcat 11系列: https://tomcat.apache.org/download-11.cgi

Apache Tomcat 10系列: https://tomcat.apache.org/download-10.cgi

Apache Tomcat 9系列: https://tomcat.apache.org/download-90.cgi

Apache Tomcat 8系列: https://tomcat.apache.org/download-80.cgi

现场使用tomcat 9.0.46,升级最新版即:9.0.76,考虑厂商环境,暂升级到9.0.75版;

另可参考官方修复commit

3)升级

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.75.tar.gz
tar -xzf apache-tomcat-9.0.75.tar.gz
#备份
cp -r /tomcat9/bin/ /tomcat9/bin_bak
cp -r /tomcat9/lib/ /tomcat9/lib_bak

#停止版本tomcat
sh /tomcat9/bin/shutdown.sh

#替换
mv apache-tomcat-9.0.75 apache-tomcat-9
mv /tomcat9/bin /tomcat9/bin_old
mv /tomcat9/lib /tomcat9/lib_old
cp ./apache-tomcat-9/bin /tomcat9/
cp ./apache-tomcat-9/lib /tomcat9/

#开启加载和热部署
vim ./tomcat9/conf/server.xml  #Host标签中加上一个配置
<Context docBase="xxx" path="/xxx" reloadable="true"/&gt;   #reloadable="true"
……
<Context docBase="xxx" path="/xxx" autoDeploy="true"/&gt;    #autoDeploy="true",开启部署


#.启动版本tomcat

sh /tomcat9/bin/startup.sh

#验证
sh /tomcat9/bin/version.sh


三、附录

1)热加载 vs部署

加载加载实现方式在Web容器中启动一个后台线程定期检测相关文件的变化,如果有变化就重新加载类,这个过程不会清空Session。过程中,服务器监听 class 文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。Tomcat默认情况下是不开启加载的。

部署部署是在Web应用后台线程定期检测,发现有变化就会重新加载整个Web应用,这种方式会彻底会清空Session。这种方式整个项目就相当于从新部署,包括从新打个.war 文件。 会清空session ,释放内存。Tomcat在启动的时候会将其目录下webappwar包解压后然后封装为一个Context外部访问。那么热部署就是程序运行时,如果我们修改了War包中的东西。那么Tomcat就会删除之前的War包解压的文件夹,重新解压新的War包。项目打包时候用的多。热部署更多的是在生产环境使用就是用于频繁的部署并且启动耗时长的应用、无法停止服务应用等。开发环境直接在Eclipse的Server里面直接配置publishing

更多参看:https://blog.csdn.net/qq_24313635/article/details/114281148

原文地址:https://blog.csdn.net/ximenjianxue/article/details/131644269

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_50079.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注