Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-32692-CodeIgniter4 — PHPフレームワークCodeIgniterのCVE-2023-32692(バリデーションルールインジェクション)に対して脆弱なサンプルアプリケーション | Kitploit
ツール/GitHubGitHub/mogwailabs/cve-2023-32692-codeigniter4
脆弱性分析コード分析ウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubmogwailabs/cve-2023-32692-codeigniter4

CVE-2023-32692-CodeIgniter4

PHPフレームワークCodeIgniterのCVE-2023-32692(バリデーションルールインジェクション)に対して脆弱なサンプルアプリケーション

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
23ヶ月前未レビュー

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アプリケーションが含まれています。ローカルにPHPをインストールしなくても、VS Code(または互換性のあるエディタ)から直接起動できるように、Dev Container 設定が同梱されています。

基盤となるDockerコンテナはPHP 8.3を使用し、デバッグを可能にするXDebug拡張機能をインストールします。CodeIgniterフレームワークに必要な追加のPHPモジュールは、ローカルの「Devcontainer features」としてインストールされます。基本的には、その機能を試してみたかったからです。

次のVS Code拡張機能が含まれています(すべてコンテナ内にインストールされ、VS Codeインスタンスにはインストールされません)。

ExtensionPurpose
xdebug.php-debugPHP XDebugサポート — 脆弱なコードパスをステップ実行
bmewburn.vscode-intelephense-clientコードナビゲーションのためのPHP Intelephense
humao.rest-client同梱のリクエストテンプレートを実行するHTTPクライアント

インストール

  1. リポジトリをVS Codeで開き、プロンプトが表示されたらDev Containerで開き直します(Dockerが必要です)。これには時間がかかる場合があります。
  2. 必要なパッケージは、コンテナのビルド時に composer によって自動的にインストールされるため、ここで何かする必要はありません。
  3. 環境テンプレートをコピーします:
root@kitploit:~
cp env .env

サンプルアプリケーションの起動

Dev ContainerにはApacheが含まれていますが、このPoCにはPHP組み込みの開発サーバーで十分です。VS Code内でターミナルを開き、次を実行します:

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

アプリケーションは http://localhost:8080 で利用できます。コンテナの外から、通常のWebブラウザでアクセスできます。


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のサイドバーにある「Run and Debug」アイコンをクリックし、「Listen for Xdebug」の横にある再生ボタンを押します。

Dev Container内でのアプリケーションのデバッグ


脆弱なコード

脆弱なエンドポイントは app/Controllers/Poc.php に実装されています。次の2つのルートを公開しています:

RouteDescription
POST /poc/update脆弱なエンドポイント — 文字列ベースのバリデーションルールを使用
POST /poc/updateSafe安全なエンドポイント — 配列ベースのバリデーションルールを使用

Poc::update() にブレークポイントを設定し、CodeIgniterのバリデーションエンジン内で {id} プレースホルダーがルール文字列にどのように展開されるかをトレースしてください。関連するフレームワークコードは vendor/codeigniter4/framework/system/Validation/Validation.php にあります。


HTTPリクエストテンプレート

http_requests/ フォルダには、VS Code REST Client拡張機能用のすぐに使えるテンプレートが含まれています:

FileDescription
reqular_request.httpベースラインの正当なリクエスト — インジェクションなし、バリデーションは通常どおり成功

任意の .http ファイルを開き、リクエストブロックの上にある Send Request をクリックして実行します。

ツールをダウンロード
basic_poc.httpid パラメータ経由で追加のバリデーションルールを注入
system_call.httpインジェクションを悪用して system() を呼び出し、OSコマンドを実行します(touch /tmp/pwn)