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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-66493 — Joomla 扩展 PhocaCommander 在删除、复制、移动操作中存在路径遍历漏洞 - CVSS 6.4 | Kitploit
工具/GitHubGitHub/toanln-cov/cve-2026-66493
漏洞分析漏洞利用Web应用程序漏洞利用数据泄露Web安全渗透测试
GitHubtoanln-cov/cve-2026-66493

CVE-2026-66493

Joomla 扩展 PhocaCommander 在删除、复制、移动操作中存在路径遍历漏洞 - CVSS 6.4

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

文件操作中的路径遍历(删除 / 复制 / 移动)

PhocaCommander ≤ 6.1.3 — 已认证管理员可在 Web 根目录之外操作文件

CVE CVSS v4.0 CWE-22 Affected Researcher


摘要

PhocaCommander 的文件操作处理器从攻击者可控的 base64 编码参数(pathfrom、pathwhere)构造源路径和目标路径,且未进行任何路径包含验证。已认证的管理员可以删除、复制和移动 Web 服务器进程可访问的文件系统中的任意文件。

已在实验室中确认:可以删除 /tmp/(Web 根目录之外)中的文件,并将 /etc/passwd 复制到 PhocaCommander 文件管理器中——从而可通过内置编辑器读取其内容。删除、复制、移动这三种操作共享同一条未经验证的代码路径。


受影响版本

组件受影响版本测试环境修复版本
PhocaCommander1.0.0 – 6.1.3Joomla 5.4.7 + PhocaCommander 6.1.3 (PHP 8.2 / Apache)6.1.4

漏洞详情

所需认证: 管理员(会话 + CSRF 令牌)

文件: administrator/components/com_phocacommander/views/phocacommanderactiona/view.json.php

根本原因

该操作视图将 pathfrom 和 pathwhere 从 base64 解码后,在未进行任何包含检查的情况下直接拼接到 JPATH_ROOT 上。这些未经验证的路径随后被用于全部三种文件操作:

VIEW.JSON.PHP — 易受攻击的路径构造

root@kitploit:~
// Both parameters decoded from base64 — no containment check
$pathFrom  = JPATH_ROOT . '/' . base64_decode($this->t['pathfrom'])  . '/';
$pathWhere = JPATH_ROOT . '/' . base64_decode($this->t['pathwhere']) . '/';

// Delete — removes any file reachable by www-data
$srcValue = $pathFrom . $v;
if (PhocaCommanderHelper::fileExists($srcValue)) {
    File::delete($srcValue);
}

// Copy / Move — arbitrary cross-directory file operations
File::copy($pathFrom . $v, $pathWhere . $v);
File::move($pathFrom . $v, $pathWhere . $v);

PhocaCommanderHelper::fileExists() 使用 is_file(Path::clean($file))。Path::clean() 会规范化斜杠,但不会去除 ../ 序列,因此任一参数中的遍历序列都会在未经检查的情况下解析为任意的文件系统路径。


概念验证

场景 1 — 删除 Web 根目录之外的文件

1. 确认哨兵文件存在于 /tmp/poc.txt

在 /tmp/poc.txt 位置创建一个属于 www-data 的测试文件,以确认目标在删除操作之前存在。

ls -la /tmp 显示 poc.txt

2. 登录 Joomla 管理员面板并获取 CSRF 令牌

通过管理员登录页面进行认证。获取 Joomla 表单令牌——它以隐藏输入字段的形式出现在任何管理员页面上。

Burp Suite – GET 请求及响应中高亮显示的 CSRF 令牌

3. 发送删除请求——目标是 Web 根目录之外的文件

解码后的参数:

  • pathfrom=Li4vLi4vLi4vdG1w → ../../..tmp → /tmp/
  • selfiles[0]=file|cG9jLnR4dA== → 文件名 poc.txt

请求 / 响应

Burp Suite – POST 删除请求及“文件已删除”响应

4. 确认文件已从 /tmp 中删除

ls -la /tmp 显示 poc.txt 已不存在


场景 2 — 将 /etc/passwd 复制到文件管理器中(通过复制实现任意文件读取)

1. 登录并获取 CSRF 令牌(与场景 1 第 2 步相同)

重用场景 1 的管理员会话,或重新认证以获取新的 CSRF 令牌。

2. 将 /etc/passwd 复制到 Web 根目录内的 phoca-files/

解码后的参数:

  • pathfrom=Li4vLi4vLi4vLi4vZXRj → ../../../../etc → /etc/
  • pathwhere=cGhvY2EtZmlsZXM= → phoca-files → /var/www/html/phoca-files/
  • selfiles[0]=file|cGFzc3dk → 文件名 passwd

请求 / 响应

Burp Suite – POST 复制请求及“文件已复制”响应

3. 确认 /etc/passwd 已复制到 phoca-files/

/etc/passwd 现在已存在于 Web 根目录内的 phoca-files/passwd,属主为 www-data。

ls -la 与 cat passwd 显示 phoca-files 中的完整 /etc/passwd 内容

4. 在 PhocaCommander 的内置编辑器中打开已复制的文件

在管理员面板中进入 PhocaCommander 文件管理器,打开 phoca-files/,点击文件 passwd,然后点击“编辑”即可在内置的 CodeMirror 编辑器中查看其内容。完整的 /etc/passwd 内容将被渲染显示:

PhocaCommander 内置编辑器显示 /etc/passwd 内容


影响

  1. 任意文件删除 — Web 根目录之外任何 www-data 可写的文件(包括其他服务的应用程序配置、锁文件和 cron 任务)都可能被永久删除
  2. 任意文件复制(→ 读取) — 任何可读文件(包括 Web 根目录之外的系统文件和配置文件)都可以被复制到文件管理器中,并通过内置编辑器读取;这实际上实现了操作系统级别的任意文件读取
  3. 任意文件移动 — 文件可以被跨目录移动,从而干扰其他服务,或为二次攻击重新布置文件
  4. 数据外泄链 — 将敏感文件(/etc/shadow、私钥、其他应用的 .env 文件)复制到 Web 根目录后,无需任何进一步操作即可通过 HTTP 访问

参考资料

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-66493
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-66493
  • 厂商仓库: https://github.com/PhocaDesign/PhocaCommander
下载工具