Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-10818 — WPForms Pro <= 1.10.1.1 - 未认证任意文件写入(分块上传初始化/完成顺序) | Kitploit
工具/GitHubGitHub/nxploited/cve-2026-10818
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用信息收集渗透测试
GitHubnxploited/cve-2026-10818

CVE-2026-10818

WPForms Pro <= 1.10.1.1 - 未认证任意文件写入(分块上传初始化/完成顺序)

查看仓库
325天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-10818

WPForms Pro <= 1.10.1.1 - 通过分块上传初始化/完成顺序缺陷实现的未认证任意文件写入

CVE CVSS CWE Python

CVE-2026-10818

WPForms Pro ≤ 1.10.1.1 — 通过分块上传实现的未认证任意文件写入

概念验证(PoC)漏洞利用
分块上传初始化/完成顺序缺陷 → 可预测路径暴露 → 远程代码执行


漏洞概述

字段详情
CVE IDCVE-2026-10818
受影响插件WPForms Pro (WordPress)
受影响版本1.10.1.1 及之前的所有版本
类型未认证的任意文件写入
CWECWE-434:危险类型文件的不受限制上传
CVSS 3.18.1 HIGH(高危) — CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
认证无需认证

WordPress 的 WPForms Pro 插件在 1.10.1.1 及之前的所有版本中,均可通过 ajax_chunk_upload_finalize 函数遭受任意文件上传攻击。这是因为文件类型验证发生在分块元数据和文件内容已经被写入磁盘之后,并且验证失败时不会删除已组装好的文件。这使得未认证攻击者能够上传可能可执行的文件,从而可能实现远程代码执行。

根本原因

root@kitploit:~
wpforms_upload_chunk_init     →  Metadata created BEFORE extension validation
wpforms_upload_chunk          →  Chunk bytes written regardless of init result
wpforms_file_chunks_uploaded  →  File assembled BEFORE type validation
                              →  File persists on disk even when validation fails

该漏洞链利用了分块上传生命周期中的一个关键顺序缺陷:

  1. 初始化(Init) 在检查文件扩展名是否被允许之前,就已在磁盘上创建元数据
  2. 分块(Chunk) 加载元数据,并将原始字节写入可预测的路径(SHA1(UUID)-0.chunk)
  3. 完成(Finalize) 在验证 MIME 类型之前组装最终文件——且验证失败时不进行清理
  4. 三个 AJAX 端点均未强制进行 nonce 验证
  5. 这三个路由均面向未认证访客注册(wp_ajax_nopriv_*)

功能特性

  • 多目标扫描 — 提供目标列表,并发处理
  • 自动表单发现 — 抓取页面、站点地图及 100+ 个常见路径,以定位 WPForms 上传字段
  • 版本检测 — 读取 readme.txt 和 HTML 源码,识别存在漏洞的 WPForms 版本
  • AJAX 路由验证 — 继续操作前,确认 wpforms_upload_chunk_init 可从外部访问
  • 双重上传策略:
    • 完整上传(init → chunk → finalize),同时使用安全扩展名与可执行扩展名
    • 仅分块上传(init → chunk,跳过 finalize),通过 SHA1(UUID) 获得确定性的文件路径
  • 可预测路径计算 — 计算 SHA1(客户端可控的 UUID),无需猜测即可推导出精确的分块 URL
  • 目录列表对比 — 在执行载荷上传前后对 /wpforms/tmp/ 目录进行快照,以识别新写入的文件
  • 哈希泄露提取 — 扫描所有响应体与响应头,寻找 <32hex>.<ext> 文件名模式
  • 执行验证 — 通过检查响应体中是否存在唯一签名来确认真实的 PHP 执行,并过滤掉静态文件服务与源码泄露
  • PATH_INFO 探测 — 尝试服务器处理器绕过(.chunk/x.php、/.php),以在非 PHP 扩展名上触发 PHP 执行
  • 多语言(Polyglot)载荷 — 生成在 IEND 块之后嵌入 PHP 代码的有效 PNG 图片
  • 专业输出 — 实时彩色终端显示,并跟踪每个目标的状态

环境要求

root@kitploit:~
Python >= 3.8
root@kitploit:~
pip install requests urllib3 beautifulsoup4

beautifulsoup4 为可选依赖,但推荐安装,以便更可靠地提取表单字段。


使用方法

root@kitploit:~
python CVE-2026-10818.py

程序会提示您输入以下内容:

提示说明默认值
目标文件包含目标列表的文本文件路径,每行一个目标list.txt
线程数并发工作线程数(1–20)5

目标文件格式

root@kitploit:~
https://example.com
http://target.org
subdomain.example.net
192.168.1.100
https://example.com/wordpress

每行一个 URL。支持 http://、https://、裸域名、IP 及子目录安装。


输出

终端

root@kitploit:~
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃                                                                ┃
  ┃      ██▄    ██  ██  ██                                         ┃
  ┃      ████   ██   ████                                          ┃
  ┃      ██ ██  ██    ██                                           ┃
  ┃      ██  ████   ████                                           ┃
  ┃      ██   ███  ██  ██                                          ┃
  ┃                                                                ┃
  ┃      Nxploited  ━  Khaled Alenazi  ━  T.m @Kxploit             ┃
  ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  ┃      CVE-2026-10818     WPForms Pro ≤ 1.10.1.1                 ┃
  ┃      Chunked Upload → Predictable Path → RCE                  ┃
  ┃      Results ━▸ Nx_hit/                                        ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

扫描过程中,每个目标会依次经历标记阶段:

root@kitploit:~
  02:14:52  ◆  target.com                        VER  WPForms 1.9.3.1 vulnerable
  02:14:53  ◆  target.com                       FORM  1 upload form(s) on /contact
  02:14:53  ◆  target.com                     UPLOAD  6 safe + 5 exec payloads
  02:14:55  ◆  target.com                        FIN  poly_png → a8f3...1b22.png URL returned
  02:14:57  ◆  target.com                        DIR  listing enabled, 4 file(s) before exec upload
  02:14:59  ◐  target.com                       EXEC  shell_php → finalized on disk (hash unknown)
  02:15:01  ◆  target.com                        DIR  1 NEW exec file(s) after upload!

  ●  target.com  SHELL  dir-new:7c4f...e8a1.php  https://target.com/wp-content/uploads/wpforms/tmp/7c4f...e8a1.php

结果文件

所有结果都会保存到 Nx_hit/ 目录:

文件内容
Nx_shell.txt已确认的 RCE — URL、标签及响应体预览
Nx_vuln.txt已确认的任意文件写入(未验证执行)

汇总

root@kitploit:~
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃  COMPLETE   150 targets processed                              ┃
  ┃                                                                ┃
  ┃  ● 3 shell     ◐ 12 vuln     ○ 85 skip     ✗ 50 miss          ┃
  ┃                                                                ┃
  ┃  Results ━▸ Nx_hit/                                            ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
符号含义
● shell已在远程目标上确认 PHP 执行

扫描流程

root@kitploit:~
Target
  │
  ├─ Reachability (HTTPS → HTTP fallback)
  ├─ WPForms Version Detection
  ├─ Form Discovery (100+ page paths + sitemap crawl)
  ├─ AJAX Route Validation
  │
  ├─ Phase 1: Safe Uploads (png/jpg/pdf + finalize → URL)
  │     └─ Shell verification on returned URLs
  │
  ├─ Phase 2: Directory Snapshot (BEFORE)
  │
  ├─ Phase 3: Exec Uploads (php/phtml/php5/phar/shtml + finalize)
  │     ├─ Leaked filename extraction from response
  │     └─ Hash pattern extraction from body + headers
  │
  ├─ Phase 4: Directory Snapshot (AFTER) → Diff → New exec files
  │     └─ Shell verification on each new file
  │
  ├─ Phase 5: Hash Leak Verification
  │     └─ Build URLs from leaked hashes → Shell check
  │
  ├─ Phase 6: Chunk-Only Uploads (no finalize → predictable SHA1 path)
  │     └─ Direct access + PATH_INFO bypass probing
  │
  └─ Result Classification (shell / vuln / skip / miss)

免责声明

本工具严格仅供授权的安全测试和教育研究使用。请仅在您拥有或已获得明确书面授权进行测试的系统上使用。

未经授权访问计算机系统属于违法行为。作者对因使用本软件而产生的滥用、损害或任何法律后果不承担任何责任。

使用本工具即表示您同意自行承担全部责任,并将遵守所有适用的法律法规。


作者:Nxploited
Khaled Alenazi
Telegram:@Kxploit

下载工具
◐ vuln
文件已写入磁盘,但执行未被确认
○ skip目标不可达、已修补,或未发现上传表单
✗ miss上传尝试失败