GeoServer 漏洞利用技能
【用途】 本技能面向 GeoServer 的安全测试,GeoServer 是基于 Java 的开源 GIS 服务器,支持 OGC 标准(WMS/WFS/WPS)。技能覆盖五类漏洞的利用与检测方法,并给出按目标版本进行漏洞匹配的决策流程。
【目标信息】 默认端口:8080 默认凭据:admin / geoserver 路径:/geoserver/web/ 技术栈:Java (Spring)、GeoTools、WMS/WFS/WPS OGC 服务 版本探测:/geoserver/rest/about/version.json(需认证)或 /geoserver/web/ 页面
【漏洞决策树】 发现 GeoServer 后按版本分支:
- 版本 < 2.23.5/2.24.3/2.25.1 --> CVE-2024-36401 XPath RCE (P0)
- 版本 <= 2.25.5/2.26.0-2.26.1 --> CVE-2025-58360 XXE 文件读取 (P0)
- 版本 < 2.18.6/2.19.6/2.20.4 --> CVE-2022-24816 Jiffle RCE (P1)
- 后端 PostGIS + 版本 < 2.21.4 --> CVE-2023-25157 SQL 注入 (P1)
- 版本 < 2.17.6/2.18.5/2.19.3 --> CVE-2021-40822 SSRF (P2)
【漏洞概览】 各漏洞的类型、认证要求、影响、等级与影响版本如下:
- CVE-2024-36401:OGC XPath RCE,无需认证,远程代码执行,严重,影响版本 < 2.23.5/2.24.3/2.25.1
- CVE-2025-58360:WMS XXE,无需认证,文件读取/SSRF,严重,影响版本 <= 2.25.5/2.26.0-2.26.1
- CVE-2022-24816:Jiffle RCE,无需认证,远程代码执行,高危,影响版本 < 2.18.6/2.19.6/2.20.4
- CVE-2023-25157:SQL 注入,无需认证,数据库泄露,高危,影响版本 < 2.21.4/2.22.1
- CVE-2021-40822:SSRF,无需认证,内网探测,中危,影响版本 < 2.17.6/2.18.5/2.19.3
【快速检测参考】 按优先级划分的检测方法与判断标志:
- P0 CVE-2024-36401:GET WFS GetPropertyValue + XPath exec(),判断标志为返回 ClassCastException
- P0 CVE-2025-58360:POST XXE 到 OWS WMS GetMap,判断标志为错误信息含文件内容
- P1 CVE-2022-24816:POST Jiffle 脚本到 WMS WPS,判断标志为异常中含命令输出
- P1 CVE-2023-25157:CQL_FILTER 注入,判断标志为 SQL 错误信息泄露
- P2 CVE-2021-40822:POST TestWfsPost,判断标志为响应含目标 URL 内容
【注意事项】
- typeNames 是 CVE-2024-36401 必需参数,通过 Web 界面或 GetCapabilities 获取
- CVE-2023-25157 需要后端配置了 PostGIS 数据源
- CVE-2021-40822 的 SSRF 受 Host 头与 URL 域名一致性约束
【详细参考文档】 技能提供以下详细文档入口:
- CVE-2024-36401 XPath RCE 利用详情:GET/POST 方式命令执行、反向 Shell 脚本、typeNames 发现
- CVE-2025-58360 XXE 文件读取与 SSRF:文件读取、目录列表、SSRF、批量扫描脚本
- Jiffle RCE / SQL 注入 / SSRF 及综合探测:CVE-2022-24816 Jiffle 注入、CVE-2023-25157 SQL 注入、CVE-2021-40822 SSRF、一键探测脚本
【限制】 资料未提供具体安装命令、依赖环境与授权范围说明,暂未提供。使用时应仅针对已获授权的目标进行测试。