もしBurpに慣れておらず問題が発生している場合は、まずBurp Suite入門を読み、その指示に従ってください。それ以外の場合は、次の問題と解決策が役立ちます。
Burpをコマンドラインから起動してみてください。コマンドラインに表示されるエラーメッセージやその他の出力を確認してください。ここに問題の原因が表示されるかもしれません。
コマンドラインからBurpを実行しているときは、-jar
引数の後にBurpのJARファイルの場所を続けてください。それでも問題が解決しない場合は、コマンドが正しいバージョンのJavaを起動していることを確認してください。java -version
コマンドを実行し、実行中のバージョンが17以上であることを確認してください。それ以上のバージョンのJavaをインストールしていても、まだ古いバージョンが実行されている場合は、java
の代わりにシステム上の正しいjava実行ファイルへの絶対パスを指定してください。それでも問題が解決しない場合は、Javaのインストールが壊れている可能性がありますので、再インストールしてください。
古いExtender APIを使って開発した拡張がある状態でBurpを起動しようとしているときにこのエラーメッセージが表示される場合は、BurpExtenderクラスがburpパッケージで宣言され、拡張のJARファイル内のburpというフォルダ内に存在するか確認してください。
BurpのJARファイルはアンパックやzip展開をする必要はありません。これはおそらく、コンピュータが.JARファイル拡張子とアーカイブソフトウェアを関連付けているためです。この関連付けを変更してJavaに関連付けるか、より良い方法は、コマンドラインからBurpを起動してください。
ブラウザがずっと待機のまま実際のコンテンツが表示されない場合は、次の手順を試してください。各手順ごとに問題がまだ発生しているかどうかを確認し、問題が解決しない場合は次の手順に進んでください。
プロキシサービスを開始できませんでした
というエラーメッセージボックスが表示された場合、指定されたポートとインタフェースをBurpが利用できません。これは、別のプロセスにポートが使用されている場合によく起こります。一覧のアイテムを選択し、編集ボタンをクリックし、別のポート番号に変更します。OKをクリックし、リスナーを有効にできるかどうか確認します。いくつか異なるポートを試すか、コンピュータの設定を確認し使用可能なポートを見つける必要があるかもしれません。その後次の手順で、ブラウザのプロキシ設定を新しいポート番号に更新します。
127.0.0.1
とポート8080
ですが、現在の設定は違うかもしれません)。詳細は、外部ブラウザの設定を参照してください。
Burpで、Proxy > HTTP履歴タブを開きます。ブラウザからもう少しリクエスト(たとえば、リフレッシュを数回押すなど)し、Proxy > Proxy履歴タブに新たなエントリが表示されるかどうか確認します。もしあれば、Burpはブラウザのトラフィックを処理していますが、インターセプト用にメッセージを表示をしていません。Proxy > Proxyインターセプトタブに移動し、マスターインターセプトを有効にします(インターセプト無効ボタンをクリックしインターセプト状態を反転させます)。次に、Proxyオプションタブに移動し、クライアントリクエストのインターセプトセクションとサーバレスポンスのインターセプトセクションのデフォルトに戻すボタンをクリックします。ブラウザからいくつかリクエストをすると、これらがProxy > Proxyインターセプトタブに表示されるはずです。
ブラウザがページを正しく読み込んでいても、Proxy > Proxy履歴にアイテムが表示されない場合は、ブラウザのプロキシ設定を確認する必要があります。ブラウザは、HTTPとHTTPSの両方にBurpを使用するように設定する必要があります。"自動"プロキシオプションは無効にし、プロキシ設定に対する"例外"はすべて削除する必要があります。不明な場合は、ブラウザの設定手順を慎重に実行し、ブラウザが正しく設定されていることを確認してください。
ブラウザがBurp経由でHTTPリクエストを送信しているのに、HTTPSリクエストが送信されない場合は、ブラウザがHTTPのみをプロキシするよう設定されている可能性があります。Burpが両方のプロトコルを使用するよう設定されているか、ブラウザのプロキシ設定を確認します。不明な場合は、外部ブラウザの設定手順を慎重に実施し、外部ブラウザが正しく設定されていることを確認してください。
ブラウザがBurp経由でHTTPSのWebサイトを読み込めており、しかし正しく機能しない(たとえばユーザインタフェースが完全でないか一部機能しない)場合は、アプリケーションが別のドメインからスクリプトやその他のコンテンツを読み込もうとしており、Burp経由でこれらのリソースを読み込む際にブラウザでセキュリティ警告が発生してる可能性があります。HTTPSを使用するアプリケーションが正しく機能するように、BurpのCA証明書をブラウザにインストールする必要があります。
テストしているアプリケーションがプラットフォーム認証を使用していて(通常ブラウザ内にログインダイアログがポップアップされます)、Burpを使用するようブラウザを設定したときに認証失敗メッセージが表示される場合、ブラウザの代わりにBurpがプラットフォーム認証を処理するよう設定する必要があります。設定 > ネットワーク > 接続タブの、プラットフォーム認証セクションに移動します。アプリケーションが使用するホスト名ごとに新しいエントリを追加し、認証タイプと認証情報を設定します。認証タイプが不明な場合は、まずNTLMv2を試し、次にNTLMv1を試し、次に他のタイプを試してください。ブラウザのキャッシュが認証処理を妨害しないように、すべてのブラウザウィンドウを閉じて新しいブラウザウィンドウを開く必要があるかもしれません。
詳細は、パフォーマンス問題のトラブルシューティングを参照してください。
Burpダッシュボードで新規スキャンをクリックし開始URLを入力すると、自動的なクロールと診断を開始できます。他のさまざまな方法でもスキャンを開始できます。詳細は、Webサイトのスキャンを参照してください。
この問題は、コンピュータのファイアウォールルールが原因である可能性があります。モバイル端末からの接続を許可するように設定されているかを確認してください。
Burpと連携するようモバイル端末を設定するも参照してください。
次の設定でBurp Suiteを起動してみてください:
start javaw -Dsun.java2d.d3d=false -Dsun.java2d.noddraw=true -jar burpsuite_pro_vXXXX.X.jar