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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-44011-craftcms-auth-rce — CVE-2026-44011 的 PoC:利用已认证用户实现 Craft CMS 远程代码执行。 | Kitploit
工具/GitHubGitHub/4xura/cve-2026-44011-craftcms-auth-rce
漏洞分析漏洞利用Web应用程序漏洞利用后渗透利用Web安全渗透测试命令与控制远程访问工具

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
GitHub
4xura/cve-2026-44011-craftcms-auth-rce

CVE-2026-44011-craftcms-auth-rce

CVE-2026-44011 的 PoC:利用已认证用户实现 Craft CMS 远程代码执行。

查看仓库
343天前尚未审核
分享

CVE-2026-44011 Craft CMS 认证后 RCE PoC

仅限授权测试使用。

Craft CMS 安全公告 列出受影响版本为 >=4.0.0, <4.17.12 和 >=5.0.0, <5.9.18,并致谢发现者 precicom-vincent-tl。

运行

python -m pip install -r requirements.txt
python cve-2026-44011.py -b 'https://example.com' -u '<username' -p '<password>' -c '<command>'

必需参数:

  • -b, --base-url:Craft URL,包含 http:// 或 https://。
  • -u, --username:控制面板用户名。
  • -p, --password:控制面板密码。
  • -c, --command:要执行并捕获输出的命令。

可选参数:

  • -P, --cp-path:控制面板路径(默认:/admin)。
  • -s, --site-id:站点 ID(默认:1)。
  • -e, --element-type:元素类型(默认:craft\elements\Category)。
  • -f, --csrf-field:登录 CSRF 字段名(默认:CRAFT_CSRF_TOKEN)。
  • -t, --timeout:请求和回调超时时间(秒)(默认:15)。
  • -F, --force:当 Craft 版本不可用或不在公告范围内时继续执行。
  • -H, --callback-host:目标可访问的地址(默认推断为本地地址;在通过跳板机时需覆盖)。
  • --listen-port:监听端口(默认:由操作系统选择的空闲端口;设置固定端口以便转发)。

漏洞分析

1. 条件输入

在存在漏洞的搜索操作中,condition 从 POST 请求体传入对象创建过程,未经净化处理。

$conditionConfig = $this->request->getBodyParam('condition');
$condition = Craft::$app->getConditions()->createCondition($conditionConfig);

2. 嵌套字段布局

ElementCondition::setFieldLayouts() 根据每个提供的数组构造布局。

if (is_array($fieldLayout)) {
    $fieldLayout['type'] = $this->elementType;
    return $fieldsService->createLayout($fieldLayout);
}

3. 可调用对象执行

公告中的 payload 附加了 Yii 的 AttributeTypecastBehavior,带有 as 键,并通过 on * 绑定事件。该行为通过 Yii 的可调用类型转换 到达 Psy\Readline\Hoa\ConsoleProcessus::execute。

condition.fieldLayouts[]
  -> FieldLayout behavior + event
  -> AttributeTypecastBehavior::typecastValue()
  -> call_user_func()
  -> ConsoleProcessus::execute()

修复后的控制器 在对象创建前对条件应用 Component::cleanseConfig()。

说明

  • Craft 的 CSRF 文档 要求 POST 操作必须具有有效的会话和令牌。脚本在登录和搜索过程中携带它们。
  • Psy 的 ConsoleProcessus::execute() 默认会转义 shell 元字符。PoC 提供一个临时脚本来运行 -c,在内置 HTTP 监听器上接收其输出,随后关闭监听器。如果目标无法访问推断的地址,请使用 -H。
  • 输出捕获需要目标上存在 sh、curl 和 mktemp。
  • 测试:python -m unittest discover -s tests -v。
下载工具