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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-11551-PoC — Эксплойт доказательства концепции для CVE-2026-11551, уязвимости неаутентифицированного повышения привилегий в плагине Branda White Label для WordPress, позволяющей захватить учетную запись через двойное хеширование пароля. | Kitploit
Инструменты/GitHubGitHub/ubaydev/cve-2026-11551-poc
Повышение привилегийАнализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеАутентификация
GitHububaydev/cve-2026-11551-poc

CVE-2026-11551-PoC

Эксплойт доказательства концепции для CVE-2026-11551, уязвимости неаутентифицированного повышения привилегий в плагине Branda White Label для WordPress, позволяющей захватить учетную запись через двойное хеширование пароля.

12 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-11551 — Неаутентифицированные привилегии в White Label & Branding, Free Login Page Customizer

White Label & Branding, Free Login Page Customizer <= 3.4.29 — Неаутентифицированное повышение привилегий через захват учётной записи

Полный поток WordPress Core → Фильтр Branda:

root@kitploit:~
wp_update_user( $userdata )
    │
    ├── wp_hash_password( $userdata['user_pass'] )   ← Строка 2709: УЖЕ ЗАХЭШИРОВАН
    │
    └── wp_insert_user( $userdata )
            │
            ├── $user_pass = $userdata['user_pass']  ← Строка 2228: ЗАХЭШИРОВАН
            │
            ├── $data = compact('user_pass', ...)    ← Строка 2469: ЗАХЭШИРОВАН
            │
            ├── apply_filters('wp_pre_inserter_id)
            │       │
            │       └── Branda: pre_insert_u
            │               │
            │               ├── запрос wp_sig['user_login']
            │               ├── если meta['pas
            │               │   $data['user_ta['password'])
            │               │                                        ↑
            │                           ┌───
            │                           │
            │                           ↓
            │               ДВОЙНОЙ ХЭШ: wp_d($raw))
            │
            └── $wpdb->update( $wpdb->users, $data, ... )  ← Строка 2515: ДВОЙНОЙ ХЭШ СОХРАНЁН

Уязвимый код (inc/modules/login-screen/signup-password.php:230-251)

root@kitploit:~
/**
 * BRANDA - signup-password.php
 * Фильтр: wp_pre_insert_user_data
 */
public function pre_insert_user_data( $data,
    // ❌ НЕТ ПРОВЕРКИ: if ($update) return
    // ❌ Этот фильтр ВЫПОЛНЯЕТСЯ для INSERT И

    if ( is_multisite() ) {
        global $wpdb;

        // ❌ $data['user_login'] из POST и редактирования пользователя
        $query = $wpdb->prepare(
            "SELECT meta FROM {$wpdb->signup
            $data['user_login']  // ← может быть изменён атакующим
        );
        $result = $wpdb->get_var( $query );
        $meta   = maybe_unserialize( $result

        if ( is_array( $meta ) && isset( $me
            // ❌ ДВОЙНОЙ ХЭШ: WordPress УЖЕ захэшировал до выполнения этого фильтра
            // $meta['password'] = "mysecret
            // wp_hash_password("mysecretpasama от WP core)
            // wp_hash_password("$P$Bxyz..."от Branda)
            $data['user_pass'] = wp_hash_pas

            unset( $meta['password'] );
            $wpdb->update(
                $wpdb->signups,
                array( 'meta' => maybe_seria
                array( 'user_login' => $data
            );
        }
        return $data;
    }
    // ...
}

Код WordPress Core, вызывающий уязвимость:

  1. wp_update_user() — Строки 2706-2709
root@kitploit:~
// wp-includes/user.php:2706
if ( ! empty( $userdata['user_pass'] ) && $u_user_data->user_pass ) {
    $plaintext_pass        = $userdata['user
    $userdata['user_pass'] = wp_hash_passwor // ← ХЭШ #1
}
  1. wp_insert_user() — Строка 2228
root@kitploit:~
// wp-includes/user.php:2228 (путь обновления)
$user_pass = ! empty( $userdata['user_pass'] $old_user_data->user_pass;
// $user_pass теперь = "$P$Bxyz...УЖЕ ЗАХЭШИРОВАН"
  1. wp_insert_user() — Строка 2505
root@kitploit:~
// wp-includes/user.php:2505
$data = apply_filters( 'wp_pre_insert_user_dd, $userdata );
// Фильтр Branda выполняется, $data['user_pass'] УЖЕ ЗАХЭШИРОВАН из строки 2228

Сценарий атаки: Захват учётной записи через администратора

Подготовка

  1. Мультисайт WordPress с Branda Signup
  2. Есть ожидающая регистрация в wp_signups:
root@kitploit:~
   ┌─────────────┬──────────────────────────┐
   │ user_login   │ meta (serialized)       │
   ├─────────────┼──────────────────────────│
   │ victim_user  │ a:1:{s:8:"password";s:10:"H4cker123!"}│
   └─────────────┴──────────────────────────┴
  1. Цель: Пользователь "admin_user" (ID=2) с ролью Администратор

Порядок эксплуатации

ШАГ 1: Атакующий входит в WP-Admin (может быть через веб-интерфейс или CSRF-эксплойт для запуска действия администратора)

ШАГ 2: Атакующий открывает /wp-admin/user-edit.php (редактирование admin_user)

ШАГ 3: Атакующий изменяет user_login admin_user на "victim_user"

root@kitploit:~
        ┌────────────────────────────────────────────┐
        │ Поле: имя пользователя                     │
        │ Значение: victim_user  ← ИЗМЕНЕНО          │
        └────────────────────────────────────────────┴

ШАГ 4: Форма отправляется → вызывается wp_update_user()

ШАГ 5: Поток WordPress Core:

root@kitploit:~
        wp_update_user({ID: 2, user_login: "victim_user", ...})
            │
            ├── user_pass = wp_hash_password(old_password)  ← ХЭШ #1
            │
            └── wp_insert_user({ID: 2, user_login: "victim_user", user_pass: "$P$Bhash1"})
                    │
                    └── apply_filters('wp_pre_insert_user_data', $data, true, 2)
                            │
                            └── Branda: pre_insert_user_data()
                                    │
                                    ├── $data['user_login'] = "victim_user"
                                    │
                                    ├── SELECT meta FROM wp_signups WHERE user_login = "victim_user"
                                    │   → meta = 'a:1:{s:8:"password";s:10:"H4cker123!"}'
                                    │
                                    ├── $meta['password'] = "H4cker123!"
                                    │
                                    └── $datword("H4cker123!")
                                             ← ХЭШ #2 (ДВОЙНОЙ!)

ШАГ 6: Таблица wp_users обновлена:

root@kitploit:~
    ┌────┬────────────┬──────────────────────────────────┐
    │ ID │ user_login │ user_pass                        │
    ├────┼────────────┼──────────────────────────────────┼
    │ 2  │ victim_user│ $P$Bhash2  ← ДВОЙНОЙ ХЭШ!        │
    └────┴────────────┴──────────────────────────────────┴

ШАГ 7: admin_user теперь:

root@kitploit:~
    - Имя пользователя: victim_user
    - Пароль: H4cker123! но ЗАХЭШИРОВАН 2 раза
    - Вход не удаётся! → Блокировка учётной записи

ШАГ 8: Тем временем атакующий может:

root@kitploit:~
    - Войти, используя учётные данные регистрации, если мета-данные ещё не очищены
    - Или зарегистрироваться снова с тем же user_login

Ссылки:

  • https://plugins.trac.wordpress.org/browser/branda-white-labeling/trunk/inc/modules/login-screen/signup-password.php?rev=3429115#L232
  • https://plugins.trac.wordpress.org/browser/branda-white-labeling/tags/3.4.29/inc/modules/login-screen/signup-password.php#L232
  • https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/branda-white-labeling/branda-white-label-branding-free-login-page-customizer-3429-unauthenticated-privilege-escalation-via-account-takeover
Скачать инструмент