Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-11551-PoC — Proof-of-concept exploit for CVE-2026-11551,一个针对 WordPress 的 Branda White Label 插件中未经身份验证的权限提升漏洞,通过双重密码哈希实现账户接管。 | Kitploit
工具/GitHubGitHub/ubaydev/cve-2026-11551-poc
权限提升漏洞分析代码分析漏洞利用Web应用程序漏洞利用Web安全渗透测试身份验证
GitHububaydev/cve-2026-11551-poc

CVE-2026-11551-PoC

Proof-of-concept exploit for CVE-2026-11551,一个针对 WordPress 的 Branda White Label 插件中未经身份验证的权限提升漏洞,通过双重密码哈希实现账户接管。

查看仓库
1113个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-11551 - 白标与品牌定制、免费登录页面定制器中的未认证权限提升

白标与品牌定制、免费登录页面定制器 <= 3.4.29 - 通过账户接管的未认证权限提升

WordPress Core 到 Branda 过滤器的完整流程:

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)

/**
 * BRANDA - signup-password.php
 * Filter: wp_pre_insert_user_data
 */
public function pre_insert_user_data( $data,
    // ❌ 未检查:if ($update) return
    // ❌ 此过滤器对插入和更新都生效

    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("mysecret"password(来自 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行
// 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行
// wp-includes/user.php:2228 (UPDATE 路径)
$user_pass = ! empty( $userdata['user_pass'] $old_user_data->user_pass;
// $user_pass 现在 = "$P$Bxyz...已哈希"
  1. wp_insert_user() — 第2505行
// wp-includes/user.php:2505
$data = apply_filters( 'wp_pre_insert_user_dd, $userdata );
// Branda 过滤器运行,$data['user_pass'] 从第2228行开始已哈希

攻击场景:通过管理员账户接管

准备

  1. 使用 Branda 注册插件的多站点 WordPress
  2. wp_signups 中有待处理的注册:
   ┌─────────────┬──────────────────────────┐
   │ 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:攻击者将 admin_user 的 user_login 改为 "victim_user"

        ┌────────────────────────────────────────────┐
        │ 字段:username                            │
        │ 值:victim_user  ← 已修改                  │
        └────────────────────────────────────────────┴

步骤4:提交表单 → 调用 wp_update_user()

步骤5:WordPress Core 流程:

        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 表更新:

    ┌────┬────────────┬──────────────────────────────────┐
    │ ID │ user_login │ user_pass                        │
    ├────┼────────────┼──────────────────────────────────┼
    │ 2  │ victim_user│ $P$Bhash2  ← 双重哈希!          │
    └────┴────────────┴──────────────────────────────────┴

步骤7:admin_user 现在:

    - 用户名:victim_user
    - 密码:H4cker123! 但被哈希了2次
    - 登录失败!→ 账户锁定

步骤8:与此同时,攻击者可以:

    - 如果 meta 尚未清理,使用注册凭据登录
    - 或者使用相同的 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
下载工具