CVE-2016-15041 漏洞实验室:MainWP Dashboard WordPress 插件 <= 3.1.2 中未经验证的存储型 XSS。
docker compose up -d --build
等待约 30 秒自动设置。实验室准备就绪时会打印横幅:
docker compose logs -f wordpress
| 资源 | 网址 / 凭据 |
|---|---|
| WordPress | http://localhost:8088 |
| 管理员登录 | admin / admin123 |
| 漏洞端点 | http://localhost:8088/wp-admin/admin-post.php?page=mainwp-setup&step=purchase_extension |
Nuclei 扫描:
nuclei -t https://raw.githubusercontent.com/projectdiscovery/nuclei-templates/main/http/cves/2016/CVE-2016-15041.yaml -u http://localhost:8088
手动 PoC:
./scripts/poc.sh http://localhost:8088
docker compose down -v
| 字段 | 值 |
|---|---|
| CVE | CVE-2016-15041 |
| 严重性 | 高危 |
| 类型 | 存储型 XSS(未经验证) |
| 影响版本 | MainWP Dashboard <= 3.1.2 |
| 修复版本 | 3.1.3 |
MainWP Dashboard 快速设置向导无需身份验证即可访问。攻击者可以通过 mwp_setup_purchase_username 参数注入 JavaScript。有效载荷存储在 WordPress 选项中,当管理员查看扩展页面时会被未经转义地渲染。
GET /wp-admin/admin-post.php?page=mainwp-setup&step=purchase_extension → 获取 CSRF nonce(无需认证)POST XSS 载荷(无需认证)存在漏洞的插件(v3.1.2)来自 WordPress SVN 修订版 r1394563(2016年4月14日)。应用了不影响漏洞的轻微 PHP 8 兼容性补丁:
__autoload() 替换为 spl_autoload_register()XSS 漏洞存在于 view/view-mainwp-extensions-view.php 文件第 74 行,其中 $username 未经 esc_attr() 函数转义即被输出。