Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2023-25157 — 本地 GeoServer/PostGIS 实验环境,复现 OGC Filter SQL 注入(CVE-2023-25157/25158),提供漏洞版、补丁版和缓解版 A/B 测试模式。 | Kitploit
工具/GitHubGitHub/ivanesk315/cve-2023-25157
漏洞扫描器漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试学习与教育数据库安全实验室与实践
GitHubivanesk315/cve-2023-25157

CVE-2023-25157

本地 GeoServer/PostGIS 实验环境,复现 OGC Filter SQL 注入(CVE-2023-25157/25158),提供漏洞版、补丁版和缓解版 A/B 测试模式。

11小时33分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

Lab CVE-2023-25157 和 CVE-2023-25158

本 Lab 使用 GeoServer/PostGIS 在本地环境中研究 OGC Filter SQL 注入,明确区分 operator/setup 模式和 attacker 模式。

  • CVE-2023-25157:GeoServer 产品层面的攻击面,WFS/WMS 请求进入 JDBC filter 编码。
  • CVE-2023-25158:根本原因位于 GeoTools JDBC 库,被 GeoServer 嵌入以将 OGC filter 转换为 SQL。

GeoServer 2.22.0 嵌入了存在漏洞的 GeoTools。GeoServer 2.22.2 嵌入了已修补的 GeoTools。Lab 保持相同的 schema/request,以便对版本、缓解措施和权限边界进行 A/B 测试。

架构

模式攻击面目的
Setup/operator RESTcve-operator 内部容器REST 设置、验证和后端日志审查
单一网关127.0.0.1:8889operator UI 和 OWS 路由共用一个端口
Operator Web UI127.0.0.1:8889/geoserver/web/供运维人员使用的 GeoServer UI;带 Basic Auth 代理
Attacker vulnerable127.0.0.1:8889/vuln/geoserver/ows存在漏洞的 WFS/OWS,DB 错误显示在响应中
Attacker patched127.0.0.1:8889/patched/geoserver/owsGeoServer 2.22.2 / GeoTools 28.2
Attacker realistic127.0.0.1:8889/realistic/geoserver/ows存在漏洞的 WFS/OWS,但网关会剥离错误详情
Mitigation function127.0.0.1:8889/mit-functions/geoserver/owsGeoServer 2.22.0,encode functions=false
Mitigation FeatureId127.0.0.1:8889/mit-featureid/geoserver/owsGeoServer 2.22.0,preparedStatements=true

PostgreSQL/PostGIS 不向主机发布端口。GeoServer 不直接向主机发布 8080 端口;主机只能通过 127.0.0.1:8889 看到 cve-gateway。容器 cve-attacker 仅位于 attacker-net;它没有通往 PostgreSQL 或 GeoServer 内部服务的路由。REST 设置通过 geoserver-net 上的内部容器 cve-operator 进行。

Operator Web UI

在浏览器中打开:

root@kitploit:~
http://127.0.0.1:8889/geoserver/web/

两层登录:

  1. 代理 operator Basic Auth:operator / operator_lab
  2. GeoServer UI:admin / geoserver

所有内容都通过同一个网关 8889,无需记住多个端口。Burp 可以保留默认代理 127.0.0.1:8080。

运行 Lab

root@kitploit:~
.\lab.ps1 reset all
.\lab.ps1 validate
powershell -ExecutionPolicy Bypass -File .\verify-lab.ps1
powershell -ExecutionPolicy Bypass -File .\negative-controls.ps1
powershell -ExecutionPolicy Bypass -File .\attack-chain.ps1

管理命令:

root@kitploit:~
.\lab.ps1 start vulnerable
.\lab.ps1 start patched
.\lab.ps1 start mitigated
.\lab.ps1 start worstcase
.\lab.ps1 reset all
.\lab.ps1 stop
.\lab.ps1 status

数据和角色

种子表:

  • cities:integer 主键,name 文本列,用于 strStartsWith/strEndsWith。
  • sensors_text:text 主键,用于 FeatureId 注入。
  • sensors_int:integer 主键,用于 FeatureId 的阴性对照。
  • events:JSONB 研究层。
  • internal_assets:不发布,每次 reset 后包含新的 LAB-CANARY-<UUID>。
  • local_points:非 JDBC shapefile 阴性对照。

角色:

  • geoserver_readonly:CONNECT、USAGE schema,仅对已发布表 SELECT。
  • geoserver_impact:额外对 internal_assets SELECT,以演示应用 DB 用户权限过宽。
  • geoserver_worstcase:独立 profile,具有 pg_read_server_files 以读取伪造的 canary 文件 /lab/flag.txt。

Attack-chain 流程

attack-chain.ps1 执行:

  1. 侦察 WFS GetCapabilities。
  2. 枚举 schema DescribeFeatureType。
  3. 基线和阴性请求。
  4. 在 realistic 代理上进行 Boolean TRUE/FALSE oracle。
  5. 使用 vulnerable、patched 和 encode functions=false 确认 CVE-2023-25157。
  6. 使用 vulnerable、patched 和 preparedStatements=true 确认 CVE-2023-25158。
  7. 阴性对照:integer PK 和非 JDBC shapefile。
  8. 通过 impact 分支泄露 DB 用户并发现隐藏表。
  9. 证明最小权限阻止 internal_assets,impact 分支泄露 canary,patched/realistic 不披露 canary。

证据保存到 evidence/attack-chain-*。当前文件夹仅保留最新的通过证据以避免混乱。

Worst-case profile

此 profile 不属于主要场景:

root@kitploit:~
.\lab.ps1 start worstcase
powershell -ExecutionPolicy Bypass -File .\worstcase-demo.ps1

它仅读取伪造的 canary 文件 /lab/flag.txt,不读取 /etc/passwd,不 dump hash,不破解密码。

官方来源

  • GeoServer advisory: https://github.com/geoserver/geoserver/security/advisories/GHSA-7g5f-wrx8-5ccf
  • GeoTools advisory: https://github.com/geotools/geotools/security/advisories/GHSA-99c3-qc2q-p94m
  • GeoServer statement: https://geoserver.org/vulnerability/2023/02/20/ogc-filter-injection.html
  • NVD CVE-2023-25157: https://nvd.nist.gov/vuln/detail/CVE-2023-25157
  • NVD CVE-2023-25158: https://nvd.nist.gov/vuln/detail/CVE-2023-25158
下载工具