Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
php2shell-scanner — php2shell(CVE-2026-109618 および CVE-2026-109619)向けの高精度スキャナー | Kitploit
ツール/GitHubGitHub/assetnote/php2shell-scanner
防御ツール偵察脆弱性スキャナーウェブ脆弱性スキャナー脆弱性分析ウェブセキュリティペネトレーションテスト
GitHubassetnote/php2shell-scanner

php2shell-scanner

php2shell(CVE-2026-109618 および CVE-2026-109619)向けの高精度スキャナー

リポジトリを見る
111202014時間53分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

php2shell-scanner

PHPアプリケーションにおけるCVE-2026-109618およびCVE-2026-109619を検出するためのコマンドラインツール。

仕組み

スキャナは最小限のマルチパート制御リクエストを送信し、続いて最大3つの細工されたマルチパートプローブを送信します。プローブは62階層深くネストされたPHP配列キーを使用し、1 MiBから20 MiBまで増加します。これはAssetnoteの内部スキャナが使用する検出ロジックに一致します。

プローブがPHPのメモリ枯渇エラー、差分のある空のHTTP 500、PHP-FPMワーカーの障害、または未パッチであることが知られている公開済みのPHPバージョンを引き起こした場合、ターゲットは脆弱であると報告されます。初回の5xxレスポンス、一般的なリクエスト拒否ステータス、およびPHPの致命的エラーシグネチャを伴わない非空のHTTP 500レスポンスは、クラッシュシグナルとして扱われません。

スキャナはデフォルトで /index.php をテストします。URLで指定されたパスは保持され、--path または --path-file でカスタムパスをテストできます。phpMyAdminのターゲットは /show_config_errors.php で自動的に再テストされます。リダイレクトは追跡されません。

SAPIモード

デフォルトの --sapi auto モードは、mod_phpとPHP-FPMの両方の判定ルールを適用し、Assetnoteのpostmodulesの複合的な動作に一致します。--sapi mod_php または --sapi fpm を使用して、検出を既知のSAPIに制限できます。

ネットワークへの影響

テストされる各パスは、42バイトの制御リクエストと、合計約29 MiBの3つのプローブを受信する可能性があります。判定が確定するとすぐにプロービングは停止し、重複する入力URLは1回だけスキャンされます。

要件

  • Python 3.9+
  • h11
  • tqdm

インストール

pip install -r requirements.txt

使用方法

単一のホストをスキャンします:

python3 scanner.py -u https://example.com

ホストのリストをスキャンします:

python3 scanner.py -l hosts.txt

複数のスレッドでスキャンし、結果を保存します:

python3 scanner.py -l hosts.txt -t 20 -o results.json

カスタムヘッダーを使用してスキャンします:

python3 scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"

カスタムパスをスキャンします:

python3 scanner.py -u https://example.com --path /phpinfo.php
python3 scanner.py -u https://example.com --path /index.php --path /admin.php
python3 scanner.py -u https://example.com --path-file paths.txt

PHP-FPM の判定ルールのみを使用します:

python3 scanner.py -u https://example.com --sapi fpm

オプション

-u, --url         Single URL to check
-l, --list        File containing hosts (one per line)
-t, --threads     Number of concurrent threads (default: 10)
--timeout         Request timeout in seconds (default: 60)
-o, --output      Output file for results (JSON)
--all-results     Save all results, not just vulnerable hosts
-k, --insecure    Disable TLS certificate verification
-H, --header      Custom header (can be used multiple times)
-v, --verbose     Show verdict reasons and response snippets
-q, --quiet       Only output vulnerable hosts
--no-color        Disable colored output
--sapi            Verdict rules: auto, mod_php, or fpm (default: auto)
--path            Custom path to test (can be used multiple times)
--path-file       File containing paths to test (one per line)

クレジット

php2shell の最初の原発見は Calif チームによるものです。彼らの解説記事はこちらで読むことができます: https://calif.io/php2shell/。

スキャナーは Assetnote Security Research Team によって、Searchlight's Exposure Platform 向けに構築されたロジックを用いて作成されました。

出力

結果はターミナルに出力されます。-o を使用すると、脆弱なホストが判定理由とマスク処理された HTTP リクエスト/レスポンスの証拠とともに JSON ファイルに保存されます。

制限事項

特定の PHP 設定では、マルチパートプローブが PHP の memory_limit を超えた場合に、スキャナーが誤検知を報告することがあります。その場合、パッチ適用済みバージョンと脆弱なバージョンが同じ空の HTTP 500 レスポンスを返す可能性があります。

これは、パッチ適用済みの PHP 8.4.27 において memory_limit を 2M から 32M に設定した場合、および PHP 8.3.36 において max_multipart_body_parts を 2785 以上 に設定した場合の 128M で再現されました。正確な閾値はビルドによって異なる場合があります。

PHP がバージョンを開示しない場合、スキャナーはこの安全なパッチ適用後の OOM と、脆弱なパッチ適用前の挙動を区別できません。したがって、結果はインストールされている PHP のバージョンおよびベンダーのバックポートに対して検証する必要があります。

ツールをダウンロード