セッション設定では、Burpのセッションハンドリング機能の設定ができます。次の設定ができます:
Webアプリケーションをテストする際、セッションハンドリングやアプリケーションの状態に関する課題に遭遇することがあります。例:
Burpのセッションハンドリング機能によって、バックグラウンドでセッションに関連する課題を処理するようにシステムを設定でき、テストを中断せずに継続できます。
Burpのセッションハンドリングルールでは、対象のセッションハンドリング機構や関連する機能をBurpがどう扱うか、非常にきめ細かく制御できます。
各ルールには2つの部分があります:
Burpがリクエストを送信するたびに、定義したルールのうちどのルールが適用されるか判断し、関連するすべてのアクションを順番に実行します。
Burp Scannerは、クロール中やクロール駆動の診断中に、セッションを自動的に処理します。Burpは、これらのスキャン中に発行するリクエストにはルールを適用しません。ただし、指定したcookieやパラメータ値をセットするやBurp拡張を実行するアクションだけの場合は除きます。
複数のルールを作成すると、それぞれのアプリケーションや機能に適用する動作の階層を定義できます。
たとえば、あるテストで次のようなルールを定義できます:
__csrftoken
パラメータを含む特定のURLに対して、有効な__csrftoken
値を取得するマクロを実行し、リクエスト生成時にそれを使用する。
セッションハンドリングルールの設定詳細は、セッションハンドリングルールエディタのドキュメントを参照してください。
セッションハンドリングトレーサは、セッションハンドリングルールのトラブルシューティングに便利です。トレーサを表示するには、セッショントレーサを開くをクリックします。
トレーサは、セッションハンドリング機能が処理したリクエスト(つまり、少なくとも1つのセッションルールが適用されたリクエスト)のリストを表示します。処理された各リクエストごとに、実行されたルールの配列とアクションを表示します。また配列のステップごとに、現在のリクエストで起こった変更も表示します。この情報は、現在のルール設定によって必要な結果が導き出せているかどうかの確認に役立ちます。
セッションハンドリングトレーサは、影響を受けるすべてのHTTPリクエストで処理されるため、ストレージに負荷がかかります。セッションハンドリングルールのトラブルシューティングでのみ、トレーサを使用してください。
Burpのセッションハンドリングルールは、Burpのその他の機能と連係して動作します:
sessid
cookieを更新するセッションハンドリングルールも設定しているとします。この場合、Intruderが他のパラメータをファジングしているときは、sessid
cookieは更新されます。Intruderがsessid
cookie 自身をファジングするときは、セッションハンドリングルールはcookieを更新せず、Intruderのペイロード文字列をsessid
の値として送信します。
セッションハンドリングルールの設定は、プロジェクト設定です。現在のプロジェクトにのみ適用されます。
Burpのcookie jarは、アクセスしたWebサイトが発行したすべてのcookieを格納します。cookie jarは、すべてのBurpツールで共有されます。
セッションハンドリングルールとマクロはcookie jarを使用して、送信するリクエストのcookieを自動的に更新できます。
cookie jarはデフォルトで、Proxyからのトラフィックに基づいて更新されます。ただし、次のいずれかのツールからcookieが更新されるよう監視する設定ができます:
Proxyの場合、Burpはブラウザから送信されたリクエストも調査します。これは、アプリケーションによって永続的なcookieがBurpブラウザに保存されており、それがセッション管理に必要な場合に便利です。Proxyを経由するリクエストを元にcookie jarを更新するということは、現在のアクセスでアプリケーションがcookieの値を更新しない場合でも、すべての必要なcookieがcookie jarに追加されることを意味します。
cookie jarは、cookieのドメインやパススコープに従います。
クロールは、cookie jarに保存されているcookieを更新しません。
cookie jarの中身を管理するには、cookie jarを開くをクリックします。cookieの手動編集、jarからcookieの削除、jarを完全に空にできます。
Cookie jar設定は、プロジェクト設定です。現在のプロジェクトにのみ適用されます。
マクロ設定では、Burpがテスト中に使用できるマクロを作成および管理できます。
マクロは、一つ以上の一連のリクエストを事前に定義したものです。セッションハンドリングルール内でマクロが使用でき、次のようなさまざまなタスクを実行できます:
各マクロでは一連のリクエストと同時に、リクエストに含まれるcookieやパラメータの処理方法やアイテム間の依存関係を指定できます。
追加をクリックするとマクロエディタダイアログが表示されます。
既存のマクロの編集や、リスト内の位置変更ができます。
マクロ記録の詳細は、マクロエディタのヘルプを参照してください。
マクロ設定は、プロジェクト設定です。現在のプロジェクトにのみ適用されます。