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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2023-32692-CodeIgniter4 — 示例应用程序,易受CVE-2023-32692(PHP框架CodeIgniter中的验证规则注入)影响 | Kitploit
工具/GitHubGitHub/mogwailabs/cve-2023-32692-codeigniter4
漏洞分析代码分析Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubmogwailabs/cve-2023-32692-codeigniter4

CVE-2023-32692-CodeIgniter4

示例应用程序,易受CVE-2023-32692(PHP框架CodeIgniter中的验证规则注入)影响

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

CVE-2023-32692 — CodeIgniter 4 验证规则注入

CVE-2023-32692 是 CodeIgniter 4 PHP 框架中的一个代码注入漏洞,影响版本 4.0.0 到 4.3.4。该漏洞已在 4.3.5(2023 年 6 月发布)中修复。这是一个供任何想尝试的人使用的演示环境。

漏洞详情可在 MOGWAI LABS 博客 中找到。

PoC 环境

此仓库包含一个最小的 CodeIgniter 4 应用程序,演示该漏洞。它附带 Dev Container 配置,因此你可以直接从 VS Code(或任何兼容的编辑器)启动,无需本地 PHP 安装。

底层 Docker 容器使用 PHP 8.3 并安装 XDebug 扩展以支持调试。CodeIgniter 框架所需的其他 PHP 模块作为本地“Devcontainer 特性”安装,主要是因为我尝试了一下这个功能。

包含以下 VS Code 扩展(全部安装在容器内,而不是你的 VS Code 实例):

扩展用途
xdebug.php-debugPHP XDebug 支持 — 逐步执行易受攻击的代码路径
bmewburn.vscode-intelephense-clientPHP Intelephense 用于代码导航
humao.rest-clientHTTP 客户端,用于发送附带的请求模板

安装

  1. 在 VS Code 中打开此仓库,并在提示时在 Dev Container 中重新打开(需要 Docker)。这可能需要一些时间。
  2. 构建容器时,所需包将通过 composer 自动安装,无需在此处执行任何操作。
  3. 复制环境模板:
root@kitploit:~
cp env .env

启动示例应用程序

Dev Container 包含 Apache,但 PHP 内置开发服务器对此 PoC 来说已足够。在 VS Code 内打开终端并运行:

root@kitploit:~
./spark serve --host 0.0.0.0

应用程序将在 http://localhost:8080 上可用。你可以使用常规网页浏览器在容器外部访问它。


使用 XDebug 调试

.vscode/launch.json 配置 XDebug 监听 TCP 端口 9003(也在 Dev Container 的 Dockerfile 中设置):

root@kitploit:~
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        }
    ]
}

在启动 PHP 开发服务器之前启动调试监听器:单击 VS Code 侧边栏中的“运行和调试”图标,然后按“Listen for Xdebug”旁边的播放按钮。

Debugging the application inside the Dev Container


漏洞代码

易受攻击的端点实现在 app/Controllers/Poc.php 中。它暴露了两个路由:

路由描述
POST /poc/update易受攻击的端点 — 使用基于字符串的验证规则
POST /poc/updateSafe安全端点 — 使用基于数组的验证规则

在 Poc::update() 中设置断点,并跟踪 {id} 占位符在 CodeIgniter 验证引擎中如何扩展为规则字符串。相关框架代码位于 vendor/codeigniter4/framework/system/Validation/Validation.php。


HTTP 请求模板

http_requests/ 文件夹包含用于 VS Code REST Client 扩展的现成模板:

文件描述
reqular_request.http基准合法请求 — 无注入,验证正常通过

打开任意 .http 文件,然后点击请求块上方的 Send Request 执行它。


下载工具
basic_poc.http
通过 id 参数注入额外的验证规则
system_call.http利用注入调用 system() 并执行操作系统命令(touch /tmp/pwn)