記録されたログインシーケンス

スキャンのアプリケーションログインを設定する際に、基本的なユーザ認証情報を指定する方法の他に、記録されたログインシーケンスをインポートする方法もあります。記録されたログインシーケンスは、Burp ScannerにWebサイトへのログイン方法を根本的に正確に指示する一連の指示です。記録されたログインシーケンスを提供すれば、次のようなより複雑な認証メカニズムをBurpが正常に処理できます。

Burpがこれらのケースのいくつかを処理できるようにするために、ログインシーケンスの実行に必要なスコープ外のリンクをクローラが一時的にたどれるようにする必要があります。ただしこれらの場所は、スキャンの一部としてクロールまたは診断はされません。

専用のChrome拡張機能を使用して、記録されたログインシーケンスをすばやく簡単に作成できます。拡張機能は、ブラウザで手動でログインシーケンスを実行しているときに、Webサイトとのやり取りをキャプチャします。JSONベースの"スクリプト"が自動的に生成されます。スクリプトは、スキャンランチャアプリケーションログインセクションにインポートできます。認証されたクロールをスキャンが開始するとき、新しいブラウザセッションが開き、このスクリプトを使用してアクションが再現され、完全なログインシーケンスが最初から実行されます。

記録されたログインシーケンスの制限

記録されたログインシーケンスを使用するか決定する前に、次の制限に注意してください。

記録されたログインは、CAPTCHAに対応していません。CAPTCHAシステムは、記録されたログインツールのような自動化されたシステムを拒否するために特別に設計されています。もしサポートすると、CAPTCHAプロバイダーは私たちがCAPTCHAの仕組みを回避する方法にパッチを当て、私たちはそのCAPTCHAの脆弱性を見つけ、プロバイダーがそれを修正する、といういたちごっこになる可能性があります。

ログインシーケンスを記録するヒント

これらのヒントは、複雑なログインメカニズムの場合でも、とりあえず動作する記録されたログインシーケンスを作成するのに役立ちます:

Burp Scanner用にログインシーケンスを記録する方法

ログインシーケンスを記録する前に、上記の記録する際のヒントを読んでください。これらのヒントは、複雑な認証シーケンスを記録する際に起こりがちなエラーを回避するのに役立ちます。

認証されたクロールをBurp Scannerができるようにログインシーケンスを記録するには、Burp Suite Navigation Recorder拡張機能を使用します。これはBurpのBurpブラウザにプリインストールされており、すぐに使用できます。外部ブラウザで作業する場合は、拡張機能のインストールと設定を手動で行う必要があります。

  1. Burpブラウザ、あるいはBurp Suite Navigation Recorder拡張をインストールした外部のChromeを開きます。
  2. 拡張機能をもう一度クリックして、"Start recording"を選択します。新しいシークレットウィンドウが開きます。
  3. シークレットウィンドウで、対象のWebサイトを参照します。赤い枠線は、ウィンドウが記録されていることを示しています。
  4. キャプチャしたいログインシーケンスを完了します。スキャン中にBurpが使用する認証情報を必ず入力してください。
  5. 必要に応じて、残りのログインシーケンスを実行します。スキャンの対象となるページで終了するようにしてください。
  6. 完了したら、拡張機能アイコンをもう一度クリックして、"Stop recording"を選択します。生成されたスクリプトは自動的にクリップボードにコピーされます。間違えた場合は、アイコンをもう一度クリックして、ログインシーケンスを再記録できます。誤ってクリップボードからスクリプトを紛失した場合は、最後に記録されたシーケンスのコピーもできます。
  7. Burpで、スキャンランチャに移動しアプリケーションのログイン設定を開きます。"記録されたログインシーケンスを使用する"オプションを選択し、"新規"をクリックします。
  8. これがどのログインシーケンスであるかを覚えやすいようにラベルを追加します。最後に、クリップボードのデータを"スクリプトの貼り付け"フィールドに貼り付けて、"OK"をクリックします。記録された手順は、アプリケーションログインのリストに追加されます。

このプロセスを、Burpで使用する認証情報のセットごとに繰り返します。たとえば、通常のユーザとしてログインするログインシーケンスと、管理者としてログインする別のログインシーケンスを記録できます。

外部ブラウザを使用したログインシーケンスの記録

Burpブラウザを使用してログインシーケンスを記録する代わりに、外部のChromeも使用できます。拡張機能をインストールして設定するために、いくつかの簡単な手順を実行する必要があります。

  1. Chromeを開き、Burp Suite Navigation Recorder拡張を追加します。
  2. ブラウザの右上隅にある拡張機能のアイコンをクリックします。プロンプトが表示されたら、"設定を開く"をクリックします。
  3. 拡張機能の設定ページで、"シークレットモードでの実行を許可する"オプションのスイッチを有効にします。これで、ログインシーケンスの記録に、このブラウザが使用できるようになります。

記録されたログインシーケンスのテスト方法

記録されたログインシーケンスを保存した後、ブラウザでの操作が正確にキャプチャされ記録されたかどうか、再生して確認できます。これは、新しい記録が期待どおりに機能しているかの確認や、既存の記録がスキャン中に失敗した場合のトラブルシューティングに役立ちます。

  1. スキャンランチャに移動し、アプリケーションのログイン設定を開きます。"記録されたログインシーケンスを使用する"を選択します。
  2. 記録されたログインシーケンスを新しくアップロードするか、設定ライブラリから既存のログインシーケンスを読み込みします。
  3. テストしたいログインシーケンスを選択し、"再生"ボタンをクリックします。Burpブラウザが開きます。
  4. そのブラウザで、Burpが自動的に対象Webサイトに移動し、記録したログインシーケンスが実行開始されるか確認する必要があります。これはすべてかなり迅速に行われます。手順の再生中にブラウザを手動で操作すると、テストに影響を及ぼす可能性があるため、避けてください。
  5. Burpが記録の再生を終了すると、ブラウザウィンドウを閉じる前に、最後のページで数秒間一時停止します。これは、ログインシーケンスが停止した場所を確認するのに十分な時間でしょう。すべてが正常に機能した場合、これは正常にログインした後に通常表示されるページになります。それではない場合、プロセスのどの段階で問題が発生しているかについての手がかりが得られるかもしれません。

記録されたログインシーケンスのトラブルシューティング

Burp Scannerはスキャン中に、記録されたログインシーケンスを再生できない場合があります。これによってすべてのスキャンが失敗するわけではありませんが、認証されたクロールを実行できなくなります。いろいろな手順を実行して、これらの問題をトラブルシューティングできます。