【OPNEGIS】Geoserver原地升级jetty,解决Apache HTTP/2拒绝服务漏洞 (CVE-2023-44487)

Geoserver是我们常用的地图服务器,在开源系统中的应用比较广泛。在实际环境中,我们可能会选用官方的二进制安装包进行部署,这样只要服务器上有java环境就可以运行,方便在现场进行部署。

1.问题来源

这次由于甲方一月一次的漏洞扫描,爆出了jetty的漏洞,搜索得知jetty 9.4.53版本之下的jetty都会受到影响,而现场的geoserver版本已经是2.24.0版本的了,其jetty版本是9.4.52版本,非常尴尬,还得升级。去geoserver官网查找最新版本是2.24.1,下载下来一看,jetty版本仍然是9.4.52,这就尬住了,官方也没有去解决这个问题,只能自己硬着头皮去替换jetty的jar包了。

2.问题解决

之前在解决geoserver jetty漏洞的问题时,我曾经采用替换lib包里的jetty包和外面的start.jar文件来进行修复,现在故技重施,解决思路也是奔着这个目标去。
在这里插入图片描述
首先,替换lib包中的jetty包,jetty的包要去jetty官网下载jetty官网下载
在这里插入图片描述
直接下载zip包即可,分两步替换:

  1. 下载下来之后对照geoserver发行版本中的jetty jar包进行选择替换,总共需要13个jar包
    在这里插入图片描述
  2. 然后将jetty中的start.jar包也替换到geoserver发行包中
    start.ini是jetty的启动配置文件,之前在使用高版本geoserver替换低版本geoserver时需要一并替换,但是现在使用的jetty的官方包替换,这里替换掉之后会丢掉geoserver中的很多配置,所以这里并没有做替换。

替换完成之后就可以去启动试一下了,果然事情不是那么顺利的,报错了

java.lang.UnsupportedClassVersionError: org/geoserver/GeoserverInitStartupListener has been 
compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the 
Java Runtime only recognizes class file versions up to 52.0

百度一下发现是java版本的事情,因为我们替换的jetty包是高版本java编译的,所以运行环境也只能使用高版本的java,java版本和这上面的version的对应关系如下:
在这里插入图片描述
由上图可知,我们的java版本最低也要升级到java11了,去JDK的下载页面查看,发现现在推荐的版本最低都是17了,那那就下载17用吧,反正是向下兼容的。
于是在本地电脑上安装17来测试,发现可以正常运行,大工告成。

3.JDK多版本安装的小插曲

在本地测试安装多版本JDK的过程中,还遇到了JAVA_HOME已经修改成jdk17的版本了,但去cmd中一试还是jdk8版本:

在这里插入图片描述
于是排查自己的修改,发现path中bin目录的配置还是用的原来jdk8的目录,于是修改,再次测试,还是jdk8的版本,没办法,只能继续查找原因。
然后找到如下解决方法:

  1. 删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件(如果没有就不用删)
  2. 删除环境变量Path中C:\ProgramData\Oracle\Java\javapath的配置

我在system32中没有发现这些文件,在path中发现了javapath的配置,果断删除,重新进入cmd测试,jdk版本就切换过来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/246552.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS保存应用数据

数据管理 1 概述 在移动互联网蓬勃发展的今天,移动应用给我们生活带来了极大的便利,这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置,HarmonyOS应用开发也不例外。 本文将为您介绍HarmonyOS提供的数据管…

Java的没落 .NET的崛起

曾几何时,Java可是排列在编程语言的第一名的。而现在跌落到第三名。我觉得Java没落有以下几点原因: oracle收购之后,java不再开源。Java能发展是因为开源免费跨平台,现在这么一搞,Java都要收费,使用的人自然就少了。反…

2019年第八届数学建模国际赛小美赛C题预测通过拥堵路段所需的时间解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 C题 预测通过拥堵路段所需的时间 原题再现: 在导航软件中,行程时间的估计往往是一个重要的功能。现有的导航软件往往通过出租车或安装了该软件的车辆获取实时GPS数据来确定当前的路况。在交通拥堵严重的情况下&#…

IC卡卡号修改UID卡CUID卡物理卡号修改考勤工号修改

普通M1卡的物理卡号是锁死的,UID卡、CUID卡、FUID卡是特殊的M1卡,他们的物理卡号是可以修改的。考勤卡、门禁等读取到的IC卡卡号是这样的0136098153,10位卡号,这个卡号是随机的,不连续的,没有规律&#xff…

Unity中后处理 脚本 和 Shader

文章目录 前言一、我们先创建一个默认的后处理Shader,用于脚本测试二、在脚本中使用Graphics.Blit();1、我们先公开一个材质,用于测试后处理效果2、因为在实际开发中,我们不可能为每一个后处理Shader创建对应的材质球。所以,需要对…

【科研论文】检索证明、科技查新、查收查引(附教育部、科技部查新工作站名单)

文章目录 1、什么是科技查新 & 查收查引2、科技查新 & 查收查引有什么用3、如何办理科技查新 & 查收查引4、教育部科技查新工作站5、科技部认定的查新机构名单 1、什么是科技查新 & 查收查引 科技查新是国家科技部为避免科研课题重复立项和客观正确地判别科研…

ChatGPT Plus重新开启订阅

12月14日凌晨,OpenAI首席执行官Sam Altman在社交平台宣布,终于找到了更多的GPU算力,重新开启订阅ChatGPT Plus。 上个月15日,OpenAI就因为算力不足,以及用户激增等原因暂停了ChatGPT Plus订阅。 Sam表示,在…

第78讲:截取MySQL Binlog二进制日志中特定部分内容的技巧

文章目录 1.为什么要截取Binlog日志中的部分内容2.针对标识位截取Binlog日志中的部分数据2.1.以标识位号截取Binlog日志的方法2.2.截取Binlog日志中的部分数据2.3.模拟简单基于标识位的Binlog数据恢复 3.针对事件范围截取Binlog日志中的部分数据 1.为什么要截取Binlog日志中的部…

Sublime Text 3配置C/C++开发环境

Sublime Text 3配置C/C开发环境 一、引言二、主要内容1. 初识 Sublime Text 32. 接入 mingw-w642.1 下载 mingw-w642.2 环境变量配置 3. 配置 C/C 开发环境3.1 C Build System 配置3.2 C Build System 配置 4. 编写 C/C 代码4.1 第一个 C 代码【helloworld.c】4.2 第一个 C 代码…

jmeter,跨线程调用cookie

结构目录 一、线程组1 1、创建登录的【HTTP请求】,并配置接口所需参数; 2、创建【正则表达式提取器】,用正则表达式提取cookie字段; 3、创建【调试取样器】,便于观察第2步提取出的数据; 4、创建【BeanSh…

构建外卖小程序:技术代码实践

在这个数字化的时代,外卖小程序已经成为餐饮业的一项重要工具。在本文中,我们将通过一些简单而实用的技术代码,向您展示如何构建一个基本的外卖小程序。我们将使用微信小程序平台作为例子,但这些原理同样适用于其他小程序平台。 …

钉钉机器人发送表格

背景: 由于每次发送excel连接,不太好看,想着简单的表格直接用消息的方式发送在群里,就想着弄一个直接发送的表格信息,但是钉钉官网是没有的。 我估计钉钉的开发人员也没有想过,会有人钻空子,用markdown发送…

从YOLOv1到YOLOv8的YOLO系列最新综述【2023年4月】

作者:Juan R. Terven 、Diana M. Cordova-Esparaza 摘要:YOLO已经成为机器人、无人驾驶汽车和视频监控应用的核心实时物体检测系统。我们对YOLO的演变进行了全面的分析,研究了从最初的YOLO到YOLOv8每次迭代的创新和贡献。我们首先描述了标准…

Mac清理软件cleanmymac x4.14.4破解版,2024年有免费cleanmymac x激活码

​ CleanMyMac X 4.14.4破解版可以快速识别并删除占用磁盘空间的无用文件,提升我们系统的存储空间。它还可以优化启动项、修复系统错误和保护隐私等。总之CleanMyMac X十分强大有需要的赶快下载吧, CleanMyMac X 许可证激活码:ak39840506641bjckr 需要…

Educoder/头歌JAVA——jQuery基础

目录 第1关:jQuery入门 相关知识 环境安装 第一个程序 id选择器 第2关:jQuery基本选择器 相关知识 类选择器 元素选择器 编程要求 第3关:过滤选择器 (一) 相关知识 设置css属性 编程要求 第4关&#xff1…

LLM之RAG实战(四):Self-RAG如何革命工业LLM

论文地址:https://arxiv.org/pdf/2310.11511.pdf Github地址:https://github.com/AkariAsai/self-rag 尽管LLM(大型语言模型)的模型和数据规模不断增加,但它们仍然面临事实错误的问题。现有的Retrieval-Augmented Gen…

Linux本地docker一键部署traefik+cpolar实现远程访问dashboard界面

文章目录 前言1. Docker 部署 Trfɪk2. 本地访问traefik测试3. Linux 安装cpolar4. 配置Traefik公网访问地址5. 公网远程访问Traefik6. 固定Traefik公网地址 前言 Trfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (D…

pycharm中如何去除波浪线的设置

pycharm中,碰到恼人的红绿波浪线,打开’file-settings’,然后,参照如图设置,去除’effects’选项:

SQL注入靶场—sqli-labs安装

第一步:从下面的网址下载sqli-labs软件包 ①、、下载安装phpstudy(直接解压安装即可) 链接:https://pan.baidu.com/s/1X8G_qXnTXQh_S3NAF2ux_A 提取码:2693 --来自百度网盘超级会员V4的分享 ①、下载sqli-labs压缩…

看看CHAT是怎么写MPP开发和调度策略

CHAT回复:MPP(Massively Parallel Processing)开发和调度策略是一种并行处理技术,主要用于大规模数据仓库和数据竞赛应用。 1. 数据分布:这是MPP系统的主要特点,也是其能够提高性能和吞吐量的主要原因。通常…