1. サポートセンター
  2. ドキュメント
  3. デスクトップ版
  4. オプション
  5. セッション

オプション: セッション

このタブには、セッションハンドリングルールcookie jarマクロの設定があります。

注: Burp Scannerは、クロール中やクロール駆動の診断中に、セッションを自動的に処理します。セッションハンドリングルールは、この種類のスキャンが行うリクエストには適用されません。

セッションハンドリングの課題

あるタイプのWebアプリケーションのテストを実行すると、、セッションハンドリングや状態に関する問題が発生するかもしれません。例:

これらの問題は、ファジングやスキャンなどの自動化されたテストタスクを実行するときや、手動でテストしている場合にも発生する可能性があります。

Burpのセッションハンドリング機能には、これらの状況を補助する幅広い機能があり、Burpがこれらの問題を裏で処理している間に、手動または自動のテストを継続できます。

セッションハンドリングルール

Burpはセッションハンドリングルールのリストを定義でき、アプリケーションのセッションハンドリング機構や関連する機能をBurpがどう扱うか、非常にきめ細かく制御できます。

各ルールにはスコープ(ルールを適用する対象)とアクション(ルールの動作)があります。Burpが作成した外向きのリクエストごとに、そのリクエストが定義したスコープ内か判断し、全てのルールのアクションを順番に実行します(状態チェックアクションがさらなるアクションを適用すべきではないと判断した場合を除く)。

各ルールのスコープは、リクエストを処理する次の機能の、任意または全てに基づいて定義できます:

各ルールは、1つまたは複数のアクションを実行できます。例:

異なるスコープとアクションの複数のルールを作ると、異なるアプリケーションや機能に適用する動作の階層を定義できます。例えば、特定のテストで次のルールを定義します

セッションハンドリングルールの設定詳細については、セッションハンドリングルールエディタのヘルプを参照してください。

セッションハンドリングトレーサ

Burpのセッションハンドリング機能を現実のアプリケーションに適用するために必要な設定は、多くの場合複雑でミスが起こりやすいです。セッションハンドリングトレーサを使用して、セッションハンドリングルールのトラブルシューティングを支援できます。

トレーサは、セッションハンドリング機能が処理したリクエスト(つまり、最後のセッションルールが適用された箇所)のリストを表示します。処理された各リクエストごとに、実行されたルールの配列とアクションを表示し、配列のステップごとに現在のリクエストに起こった変更を表示します。

セッションハンドリングトレーサは、影響を受ける全てのHTTPリクエストで処理され、ストレージに負荷がかかることに注意してください。セッションハンドリングルールのトラブルシューティングするときだけトレーサを使用するべきで、通常は実行し続けないようにしてください。

Burpは、アクセスしたWebサイトが発行した全てのcookieを格納するcookie jarを保持します。cookie jarは、全てのBurpツールで共有されます。

cookieを更新するために、cookie jarがモニタリングするツールを設定できます。デフォルトでcookie jarは、ProxyとSpiderツールのトラフィックに基づいて更新されます。設定されたツールが受信したレスポンスをBurpが監視し、新たなcookieがセットされたらcookie jarを更新します。Proxyの場合、ブラウザから受信したリクエストも検査します。以前アプリケーションがブラウザに永続的なcookieをセットしていて、それがセッションの適切な取り扱いに必要とされる場合に、この機能が便利です。Proxyを経由するリクエストを元にcookie jarを更新するということは、現在のアクセスでアプリケーションがcookieの値を更新しない場合でも、全ての必要なcookieがcookie jarに追加されます。

"cookie jarを開く"ボタンを使用して、cookie jarの内容の表示や、cookieを手動で編集ができます。

送信するリクエストのcookieを自動で更新するために、cookie jarはセッションハンドリングルールマクロでも使用されます。

Internet Explorererのcookie解釈の仕様をまねて、cookie jarは、cookieのドメインやパススコープに従います。

マクロ

マクロは、1つ以上の一連のリクエストの定義です。セッションハンドリングルール内でマクロが使用でき、様々なタスクを実行できます。マクロの典型的な使用例は次の通りです:

基本的なリクエストの順序と同様に、cookieやパラメータの処理方法やアイテム間の依存関係など、各マクロにはいくつかの重要な設定があります。

マクロの設定の詳細は、マクロエディタのヘルプを参照してください。

Burpツールとの統合

Burpのセッションハンドリング機能は、Burpのその他の機能と重要な連携をします: