ローカルプロキシツール(BurpSuite)の紹介

【2021.3.19追記】
「Burp Suite Community Edition」を紹介した記事を新たに投稿しています。
こちらもご参照下さい。

Webアプリケーションセキュリティの検証のためのローカルプロキシツール(Burp Suite)の利用
https://www.as-lab.net/howto-use-localproxy/

「ローカルプロキシツール(BurpSuite)の紹介」

ローカルプロキシツールの有効性

Webアプリケーション開発時の検証において、Webサーバとブラウザ間の通信内容を確認するケースがあると思いますが、このような時にローカルプロキシツールはとても役に立ちます。URLに表示されるパラメータに対しては、ブラウザからも任意の文字列の指定ができますが、hiddenパラメータのようにユーザが入力できない項目はブラウザから直接指定することは困難です。このような場合も、ローカルプロキシツールを利用すれば、任意のパラメータ値を簡単に指定することができます。また、送信に対する応答も併せて確認することができます。
ローカルプロキシツールは、クライアントマシン上で動作します。これによりブラウザからのリクエストを一旦キャプチャして、内容を変更した上でWebサーバへリクエストすることができるようになります。

・ローカルプロキシツールのしくみ

出典:『セキュア・プログラミング講座 (Webアプリケーション編)』 ブートアップセミナー資料の「HTTPの通信を観察する」より
http://www.ipa.go.jp/security/awareness/vendor/programmingv2/web.html

ローカルプロキシツールにはいくつか種類がありますが、ここでは一般的に広く利用されている「BurpSuite」を紹介します。

BurpSuiteの導入

JRE環境準備

BurpSuiteはスタンドアロンで動作するJavaアプリケーションのため、実行にはJREを予め導入しておく必要があります。(JREの導入方法の詳細は本ページでは割愛します。)
https://java.com/ja/download/

BurpSuiteのダウンロード

以下のサイトからFree Editionをダウンロードします。
http://portswigger.net/burp/download.html

ライセンス確認

BurpSuiteを起動するとライセンス同意画面になります。「I Accept」で先に進みます。製品の品質向上に協力(Help improve~)のチェックは任意で選択してください。

通信キャプチャの準備

①ローカルプロキシポートの設定(BurpSuite側)

デフォルトでは、ループバックアドレス(127.0.0.1)の8080/TCPポートが設定されています。

既に8080/TCPを利用していて変更の必要がある場合は、OptionsタブからEditボタンにより利用していない任意のポート番号へ変更することができます。

②ローカルプロキシポートの設定(ブラウザ側)

BurpSuiteで設定したポートと同じポート番号をブラウザのプロキシサーバのポートとして設定します。

・Internet Explorerの例

③レスポンス取得設定

デフォルトでは、リクエスト(送信)のみキャプチャされる設定になっているため、レスポンス(応答)もキャプチャできるように「Intercept responses based on~」のチェックを入れます。

BurpSuiteの基本的な利用方法

①ブラウザで評価したい対象画面へアクセスします。

②対象画面で操作を行う前に「Inctercept is off」をクリックし、キャプチャを有効化(「Intercept is on」)します。

③対象画面の操作によりサーバへのリクエストが発生すると、送信リクエストが一旦BurpSuite上にキャプチャされます(リクエストはまだサーバへ到達していません)。

④送信するパラメータ値の変更

リクエストをキャプチャした際に、「Params」タブを選択するとリクエストされるパラメータ一覧を確認することができます。

リクエストされる値を任意のものへ変更することができます。

⑤Forwardボタンを押すと、キャプチャされた内容がサーバへリクエストされ、その結果(サーバからのレスポンス)がキャプチャされます。一番下の入力欄に文字列を指定することにより、レスポンスに含まれる文字列を検索することができます。

続けてForwardボタンを押すと、キャプチャされた内容がブラウザに表示されます。以降は、①から⑥の繰り返しになります。

■おわりに

今回は、ローカルプロキシツールのBurpSuiteに関する基本的な利用方法についての紹介しました。ローカルプロキシツールは、セキュリティ要件の確認にも利用できるとても有効なツールですので、是非活用していただければと思います。

セキュリティ要件については、IPAの「セキュア・プログラミング講座 (Webアプリケーション編)」で詳しく紹介されていますので、こちらも併せて参照して頂くことをお勧めします。

http://www.ipa.go.jp/security/awareness/vendor/programmingv2/web.html

以上

 

関連記事

ピックアップ記事

  1. Nmapを使ったWebサイトの利用可能な暗号化プロトコル・暗号スイートのチェックについて …
  2. IPA 「安全なウェブサイトの作り方」第1章のHTML版が公開されました。 初めに …
  3. 忙しいWebアプリケーションエンジニアのためのWebセキュリティ第一歩 Webセキュリティをどこで…
ページ上部へ戻る