漏洞实验环境(Vulnerable Lab)以及针对 GeoServer (CVE-2023-25157) 和 GeoTools (CVE-2023-25158) 库的 SQL注入(基于错误) 漏洞的详细利用分析报告。
请查看官方报告中的完整分析文档及每层的PoC截图:
(报告内容包括:CQL解析器与SQL转换器层的错误原理、OGC XML Filter格式说明、4个攻击向量的详细分析、载荷、数据库实际SQL查询及修复建议。)
| 属性 | 详情 |
|---|---|
| CVE ID | CVE-2023-25157 (GeoServer) & CVE-2023-25158 (GeoTools) |
| 漏洞类型 | 基于错误的SQL注入 |
| 严重程度 | 严重 — CVSS v3.1: 9.8 |
| 受影响产品 | GeoServer < 2.23.1, < 2.22.3, < 2.21.4 / GeoTools < 29.2, < 28.4, < 27.5 |
| 利用协议 | OGC Web Feature Service (WFS) v1.0.0 / v2.0.0 |
| 认证要求 | 无需认证(当WFS服务配置AccessConstraints: NONE时) |
在本实验环境中,已在 REPORT.md 中验证并详细分析了4个实际攻击向量:
strStartsWith):通过 CQL_FILTER 中的字符串前缀检查函数利用(HTTP GET)。strEndsWith):通过 CQL_FILTER 中的字符串后缀检查函数利用(HTTP GET)。PropertyIsLike):通过标准OGC XML Filter标签操纵转义字符 escape 进行利用(HTTP POST)—— 最危险的向量,在所有默认配置上均可生效。FeatureId):当 preparedStatements = false 时,通过String类型主键过滤参数利用。在项目根目录,打开终端并执行命令:
docker compose up -d
系统将启动2个容器:
vulhub 数据库,其中有 example 和 example_str 表)。检查GeoServer的日志以确保服务已完全启动:
docker compose logs -f geoserver
当出现 CONFIGURATION COMPLETE 消息时,即可访问GeoServer:
http://localhost:8080/geoserver/web/admin / geoserver关闭容器并释放资源:
# Tắt lab (giữ lại dữ liệu database)
docker compose down
# Tắt lab và xóa sạch toàn bộ dữ liệu volume
docker compose down -v
├── REPORT.md # Báo cáo phân tích kỹ thuật & PoC chi tiết
├── docker-compose.yml # Cấu hình khởi tạo môi trường lab GeoServer + PostgreSQL
├── init.sql # Script khởi tạo database và dữ liệu mẫu cho lab
├── startup.sh # Script cấu hình tự động GeoServer khi khởi chạy container
└── img/ # Thư mục chứa hình ảnh minh chứng PoC