** BurpProxy(BurpSuite)を使用したWEBアプリ検査 [#d8e77fd1] #setlinebreak(on); リクエストデータを書き換える事ができるツール。 リクエストが送信される前にリクエストデータを都度確認、編集できる。 ※繰り返して同じHTTPヘッダを追加する場合などは [[The Proxomitron>The Proxomitronを使用して本番環境を擬似構築する]] の方が楽。(一度設定してしまえば良いので。) - 前準備 -- BurpProxy(BurpSuite)のダウンロード・インストール ・http://www.portswigger.net/suite/download.html から burpsuite_v1.1.zip をダウンロードして解凍するだけ。 (JRE1.5以上がPCにインストールされていない場合は、先にインストールしておく事。) -- Internet Explorerの設定 ・Internet Explorer から [ツール] -> [インターネット オプション] -> [接続] -> [LANの設定] から下図のように設定する。 ''◆プロキシサーバ'' ☑ LANにプロキシサーバを使用する ※サーバがローカルで動作している場合は、「ローカルアドレスにはプロキシサーバを使用しない」のチェックを外しておく。 ''◆プロキシサーバの 詳細設定'' #html(<div style="padding-left:20px;">) |種類|アドレス|ポート|h |HTTP|localhost|8090| |Secure|localhost|8090| ※空いているポートであれば何処でも良い。 BurpProxyのデフォルトでは 8080で動作するが、Tomcat等のポートとかぶるので、ここでは8090に変更した。 #html(</div>) - BurpProxyの使用方法 -- BurpProxyの起動 ・suite.bat をダブルクリックするだけで起動する。 (jarファイルがjavaと関連づけられている場合は、burpsuite_v1.1.jar をダブルクリックでも良い。) -- BurpProxyの設定 ・BurpProxyが動作するポートを、Internet Explorerで設定したポートに変更する。 ※ちゃんとチェックが入っている事も確認する事。 #html(<table><tr><td style="padding-left:50px;"> </td><td align="top" style="padding-top:0px;">) &ref(burpProxy01.jpg,nolink); #html(</td></tr></table>); -- BurpProxyの使用開始 ・[proxy] - [intercept] タブで [intercept is on] の状態にするだけ。 -- テストの実行 (1) Internet Explorerから対象のアプリにアクセスする。(ここでは http://www.google.co.jp にアクセスしてみる) (2) BurpProxyに下図のようなリクエスト情報が表示されるので [forward] をクリックしてリクエストを素通りさせる。 (リクエストを通すと googleのページが表示される) #html(<table><tr><td style="padding-left:20px;"> </td><td align="top" style="padding-top:0px;">) &ref(burpProxy02.jpg,nolink); #html(</td></tr></table>); (3) googleのキーワードに "BurpProxy" と入力して [Google検索] をクリック。 #html(<table><tr><td style="padding-left:20px;"> </td><td align="top" style="padding-top:0px;">) &ref(burpProxy03.jpg,nolink); #html(</td></tr></table>); (4) BurpProxyに下図のようにリクエスト情報が表示される。 ※googleは GETでリクエストを行っている様子。(1行目に q=BurpProxy と表示されている ) #html(<table><tr><td style="padding-left:20px;"> </td><td align="top" style="padding-top:0px;">) &ref(burpProxy04.jpg,nolink); #html(</td></tr></table>); (5) キーワード(q)の内容を ''"リクエストデータを書き換えるツール"'' に書き換えて [forward] をクリック。 #html(<table><tr><td style="padding-left:20px;"> </td><td align="top" style="padding-top:0px;">) &ref(burpProxy05.jpg,nolink); #html(</td></tr></table>); (6) 検索結果ページが表示される。※リスエストデータが書き変えられて送信された事がわかる。 #html(<table><tr><td style="padding-left:20px;"> </td><td align="top" style="padding-top:0px;">) &ref(burpProxy06.jpg,nolink); #html(</td></tr></table>); この要領で、リクエストデータを書き換えてテストができる。 ここではテキスト入力の書き換えを行ったが、実際にはプルダウンや、ラジオボタン、チェックBOXなど 画面上からは値を入力できない項目のデータを書き換えてテストする。