Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2023-25157 — Локальная лаборатория GeoServer/PostGIS, воспроизводящая SQL-инъекцию через OGC Filter (CVE-2023-25157/25158) с режимами A/B-тестирования: уязвимый, исправленный и с митигацией. | Kitploit
Инструменты/GitHubGitHub/ivanesk315/cve-2023-25157
Сканеры уязвимостейАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеБезопасность Баз ДанныхЛаборатории и Практика
GitHubivanesk315/cve-2023-25157

CVE-2023-25157

Локальная лаборатория GeoServer/PostGIS, воспроизводящая SQL-инъекцию через OGC Filter (CVE-2023-25157/25158) с режимами A/B-тестирования: уязвимый, исправленный и с митигацией.

12 ч 20 мин назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Лаборатория CVE-2023-25157 и CVE-2023-25158

Эта лаборатория использует GeoServer/PostGIS для исследования OGC Filter SQL injection в локальной среде, с чётким разделением режима оператора/настройки и режима атакующего.

  • CVE-2023-25157: поверхность продукта GeoServer, запросы WFS/WMS попадают в кодирование JDBC-фильтра.
  • CVE-2023-25158: первопричина в библиотеке GeoTools JDBC, которая встраивается GeoServer для преобразования OGC-фильтра в SQL.

GeoServer 2.22.0 включает уязвимый GeoTools. GeoServer 2.22.2 включает исправленный GeoTools. Лаборатория сохраняет одну и ту же схему/запросы для A/B-тестирования версий, митигации и границы привилегий.

Архитектура

РежимПоверхностьНазначение
Setup/operator RESTвнутренний контейнер cve-operatorREST-настройка, валидация и просмотр логов бэкенда
Единый шлюз127.0.0.1:8889Единый порт для UI оператора и маршрутов OWS
Operator Web UI127.0.0.1:8889/geoserver/web/UI GeoServer для оператора; с прокси Basic Auth
Attacker vulnerable127.0.0.1:8889/vuln/geoserver/owsУязвимый WFS/OWS, ошибки БД видны в ответе
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 напрямую на хост; хост видит только cve-gateway на 127.0.0.1:8889. Контейнер cve-attacker находится только в attacker-net; у него нет маршрута к PostgreSQL или внутреннему сервису GeoServer. REST-настройка проходит через внутренний контейнер cve-operator в geoserver-net.

Web UI оператора

Откройте в браузере:

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

Вход в два уровня:

  1. Прокси оператора Basic Auth: operator / operator_lab
  2. UI GeoServer: admin / geoserver

Всё проходит через единый шлюз 8889, не нужно запоминать множество портов. Burp может сохранять прокси по умолчанию 127.0.0.1:8080.

Запуск лаборатории

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

Данные и роли

Таблицы seed:

  • cities: integer primary key, столбец name text, используется для strStartsWith/strEndsWith.
  • sensors_text: text primary key, используется для FeatureId injection.
  • sensors_int: integer primary key, negative control для FeatureId.
  • events: JSONB слой исследования.
  • internal_assets: не публикуется, содержит LAB-CANARY-<UUID> новый после каждого сброса.
  • local_points: shapefile non-JDBC negative control.

Роли:

  • geoserver_readonly: CONNECT, USAGE schema, SELECT только на публикуемых таблицах.
  • geoserver_impact: SELECT дополнительно internal_assets для иллюстрации пользователя БД приложения с широкими правами.
  • geoserver_worstcase: отдельный профиль, имеет pg_read_server_files для чтения фальшивого файла-канарейки /lab/flag.txt.

Поток attack-chain

attack-chain.ps1 выполняет:

  1. Разведка WFS GetCapabilities.
  2. Перечисление схемы DescribeFeatureType.
  3. Базовые и негативные запросы.
  4. Boolean TRUE/FALSE oracle на реалистичном прокси.
  5. Подтверждение CVE-2023-25157 с vulnerable, patched и encode functions=false.
  6. Подтверждение CVE-2023-25158 с vulnerable, patched и preparedStatements=true.
  7. Negative controls: integer PK и non-JDBC shapefile.
  8. Утечка пользователя БД и обнаружение скрытой таблицы через impact branch.
  9. Демонстрация того, что least-privilege блокирует internal_assets, impact branch утекает канарейку, patched/realistic не раскрывают канарейку.

Доказательства сохраняются в evidence/attack-chain-*. Текущая папка сохраняет только последние успешные доказательства, чтобы избежать беспорядка.

Профиль worst-case

Этот профиль не входит в основной сценарий:

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

Он только читает фальшивый файл-канарейку /lab/flag.txt, не читает /etc/passwd, не дампит хеши, не взламывает пароли.

Официальные источники

  • 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
Скачать инструмент