Webサイトにアクセスするために一般的なユーザー名とパスワードを必要とするいくつかのWebアプリケーションでスキャンを実行しています。私は通常、ウェブサイトのスパイダリングが完了するまで、プロキシが実行されているブラウザーからログインしたままですが、Burpのスキャナーでホストをアクティブにスキャンし始めたら、それが必要かどうか知りたいと思いました。 Cookie、セッションIDなどは、スキャナーが使用するリクエストにすでに含まれているようですが、スキャナーが実行されている間、プロキシが実行されているブラウザーが引き続きサイトにログインしていることを確認する必要がある理由があります。 ?これをさらに一歩進めて、スパイダー処理中にログインしたままにする必要がありますか、それとも最初に認証した後、burpはcookieを保存しますか?
Burpには、セッション処理に使用できる比較的複雑なオプションがいくつかありますが、基本的なケースでは、スキャナーは、有効なセッションIDを知っている限り、burpsの「cookie jar」からのセッションを使用します。
スキャナーの実行中に(たとえば、ログアウト機能を使用して)セッションを無効にすると、スキャナーはサイトの認証された領域で正常に機能しなくなる可能性があります(もちろん、ここではログアウトによってサーバー側のセッションが実際に無効になると想定しています)。
ただし、アクティブにログアウトせずに別のサイトにアクセスするだけの場合、burpは有効なままである限り、保持していたセッショントークンを引き続き使用できます。
積極的なタイムアウトのある一部のサイトでは、これは問題になる可能性がありますが、Burps Macro機能を使用してこの種の問題を検出し、自動的に再ログインできます。
一部のアプリケーションには、1つの不正な要求が送信された場合にセッションを破棄するなど、積極的なセッション有効期限ロジックがあります。他の人はより寛容です。
いずれの場合でも、Burpの Macros を使用して、ログインセッションを継続的に検証し、Burpリクエストがログアウト/セッションの期限切れアクションをトリガーした場合に再ログインできます。
はい、スパイダー/スキャン時に有効なセッションを確保して、テストカバレッジを最大化する必要があります。無効なセッションでスパイダー/スキャンすると、ログインページにリダイレクトする多数の応答が返される場合があります。