アップデート一覧に戻る
New releaseAug 20, 2026

XSRFProbe v3.0.0

Prime クロスサイトリクエストフォージェリ(CSRF)監査・悪用ツールキット

共有


xsrfprobe-logo

XSRFProbe

クロスサイトリクエストフォージェリ監査・エクスプロイトツールキット。

概要

XSRFProbe は、高度なクロスサイトリクエストフォージェリ(CSRF/XSRF)監査・エクスプロイトツールキットです。強力なクローリングエンジンと多数の系統的なチェックを備えており、CSRF脆弱性の大半のケースとそのバイパスを検出し、見つかった脆弱性ごとに悪用可能な概念実証(PoC)を生成できます。XSRFProbeの動作の詳細については、wikiXSRFProbe内部構造を参照してください。

バナー画像

XSRFProbe Wikiはじめに一般的な使い方高度な使い方XSRFProbe内部構造ギャラリー

主な機能

  • エンドポイントが脆弱であると宣言する前に、応答差分/ベンチマークエンジンに基づいた系統的なチェックの全バッテリーを実行します。
  • 多くのAnti-CSRFトークン実装(リクエストメソッド切り替え、トークン削除、空/重複値、非セッション束縛トークン、ダブルサブミットクッキー、カスタムヘッダートークン)を検出し、積極的に改変します。
  • RefererおよびOrigin検証を、実際のバイパス(ヘッダー削除、正規表現/サブドメインのトリック、Origin: null)と、メソッドオーバーライドやContent-Typeバイパスを用いて調査します。
  • SameSiteクッキー保護を分析し、兄弟ドメインバイパステストのためにオプションのサブドメイン列挙(crt.sh経由)を行います。
  • 決定論的で制限付きのクロールとスキャンを備えた強力なクローラーと連携します(--max-urls--max-depth--crawl-timeoutで設定可能)。
  • ブラウザ依存のテストや生成されたPoCの自動検証のために、オプションのヘッドレスFirefox(Selenium)統合を提供します。
  • エントロピーとエンコーディングチェックを用いた正確なトークン強度検出分析
  • 通常のCSRF概念実証と悪用可能なCSRF概念実証の両方を生成できます。
  • カスタムクッキー値、汎用ヘッダー、JSONレポートを標準サポート。各発見には重大度評価とエクスプロイト可能性の前提条件が付与されます。
  • ユーザーはスキャナーが行うすべてのことを完全に制御できます。
  • フル冗長出力をサポートし、エラー、脆弱性、トークンの詳細なログを取得できるユーザーフレンドリーな対話環境を提供します。

実行される脆弱性テスト:

XSRFProbeが実行する各チェックには一意の識別子があります。このIDはコンソール出力に表示され(例 [T6] VULNERABLE: ...)、JSONレポートの各発見項目の test_id フィールド(severity と、該当する場合は details の下の exploitability 注釈とともに)として保存されるため、各発見はそれを生成した正確なテストにマッピングされます。

IDカテゴリチェック
D1トークンの存在Anti-CSRFトークンなし(汎用リクエストフォージェリ)
D2トークンの存在ログインフォームにCSRFトークンがない(ログインCSRF)
T2トークン改ざん検証がリクエストメソッドに依存(GET ↔ POST切り替え)
T3トークン改ざんトークンを完全に省略可能
T4トークン改ざんトークンがユーザーセッションに紐づいていない(クロスセッションリプレイ)
T5トークン改ざんトークンが非セッションクッキー(例 csrfKey)に紐づいている
T6トークン改ざん単純なダブルサブミットクッキー(cookie == body、バインドなし)
T7トークン改ざん空のトークン値が許容される
T8トークン改ざんカスタムヘッダートークンを省略または偽装可能
M1メソッド / Content-Type_method パラメータによるHTTPメソッドオーバーライド
M2メソッド / Content-TypeX-HTTP-Method-Override ヘッダーによるHTTPメソッドオーバーライド
M4メソッド / Content-Type代替 Content-Type による検証バイパス
R0Refererフォーム送信時にRefererヘッダーが検証されていない
R1Refererヘッダーを省略することによるReferer検証バイパス
R2aRefererReferer正規表現バイパス — 攻撃者のサブドメインとしてターゲット
R2bRefererReferer正規表現バイパス — クエリ文字列内のターゲット
R2cRefererReferer正規表現バイパス — パス内のターゲット
O1OriginOrigin: null によるOrigin検証バイパス
O2OriginサブドメイントリックによるOrigin検証バイパス
O3Originヘッダーを省略することによるOrigin検証バイパス
S2SameSite(ブラウザ)クライアントサイドリダイレクトガジェットによる SameSite=Strict バイパス
S3SameSite(ブラウザ)兄弟サブドメイン上のXSSによる SameSite=Strict バイパス
S4SameSite(ブラウザ)クッキーリフレッシュ / OAuthフローによる SameSite=Lax バイパス
C1クッキー状態クッキー SameSite 属性の分析(None/Lax/Strict
C2クッキー状態クッキーに SameSite 属性が設定されていない
E1トークン強度トークンが弱い/構造化されたハッシュエンコーディングを使用
A1トークン強度スキャン後のトークンの予測可能性/偽造可能性の分析

S* チェックにはオプションのヘッドレスブラウザ統合(--browser)が必要です。T*/M*/R*/O* は、応答差分/ベンチマークエンジンによって制御されるHTTPレベルのチェックです。

ギャラリー

XSRFProbeの実際のシナリオを見てみましょう:

インストールと使い方

完全な使用方法については、wikiの一般的な使い方高度な使い方を参照してください。

Pypi経由でのインストール:

XSRFProbeは単一のコマンドで簡単にインストールできます:

pip install xsrfprobe

手動インストール:

  • 基本として、最初のステップはツールのインストールです:
pip install .
  • これで、ツールを次のように起動できます:
xsrfprobe --help
  • ブラウザ依存テスト(--browser--auto-validate-poc)では、さらにgeckodriverPATHに存在する(または--geckodriver-pathで指定する)必要があります。
  • XSRFProbeをサイトでテストした後、現在の作業ディレクトリにxsrfprobe-outputという出力フォルダが作成されます。このフォルダ内で、スキャン中に収集された詳細なログと情報を確認できます(--jsonを渡すと機械可読なレポートが生成されます)。

バージョンとライセンス

XSRFProbeは現在v3.0.0であり、この作業はGNU General Public License (GPLv3)の下でライセンスされています。

警告

本ツールを実際のサイトで使用しないでください!

このツールはあらゆる種類のフォーム送信を自動的に実行するように設計されており、サイトに損害を与える可能性があるためです。データベースを台無しにしたり、サイトに対してDoSを引き起こす可能性が最も高いです。

使い捨て/ダミーのセットアップ/サイトでテストしてください。

免責事項

事前の相互同意なしにWebサイトのテストにXSRFProbeを使用することは、違法行為と見なされる可能性があります。すべての該当する地域、州、連邦法を遵守するのは最終的なユーザーの責任です。作者は一切の責任を負わず、このプログラムの誤用や損害についても責任を負いません。

作者の言葉

このプロジェクトは、クロスサイトリクエストフォージェリ攻撃に関する私自身の研究とWebアプリケーションでの経験に完全に基づいています。ソースコードを調べて、このツールキットがどのように構築されたかを理解するのに役立ててください。有用なプルリクエストアイデアや問題を大歓迎します。XSRFProbeの開発状況を確認したい場合は、開発ボードをご覧ください。

♡をもって @0xInfection により作成されました。

カテゴリ