LoginSignup
49

More than 5 years have passed since last update.

ChromeとOWASP ZAPでWeb通信を改竄

Last updated at Posted at 2015-09-01

何がしたいか

  • ブラウザ <-> Webサーバ間のHTTP通信を補足し、
  • その挙動をみて、自分の好みのパラメタやシグネチャを付加し、
  • 改造したパケットを再送信し、それがどういった脆弱性につながるかを観察しようとしました。
  • TDU CTFではcookie値を書き換えるために利用したという感じです。
  • イメージでいうと、下記のローカルProxyにOWASP ZAPを利用して、上記を実現しようとしました。

OWASP ZAPの設定その1: Proxyの設定

  • OWASP ZAPのpreferenceから"local proxy"メニューを選択します
  • local上で動くので、Addressはlocalhostを選択します
  • Portは利用されていないポート番号を指定しましょう。
    • 1024以上なら大体何でもいいのではないでしょうか。
  • ブラウザのproxyの向け先を上記にすると、OWASP ZAPが通信の内容をキャプチャします

Chrome側のProxy設定

Proxy SwitchyOmegaのインストール 

  • Chromeの設定 > 詳細設定 > ネットワーク"プロキシ設定の変更"からプロキシを設定できますが、これをしてしまうと全通信に適用されてしまいます。
  • そうなると、OWASP ZAP上のノイズが多くなってしまうので、こちらはやめます。かわりにProxy SwitchyOmegaという拡張機能を使いますので、インストールしてください

Proxy SwitchyOmegaの設定

  • ツールバー上に黒いドーナツ上のアイコンがでるので、それをクリックして"Options"ボタンを押します。そうすると設定画面が開きます。

スクリーンショット 2015-09-01 1.23.10.png

Profiles: Proxyの設定

  • 先ほどOWASP ZAPで設定した内容を、Server欄とPort欄に設定します。これでブラウザはOWASP ZAPをプロキシとして、通信を中継させようとします
  • 左下の"Apply Changes"ボタンで設定を保存します

Profiles: auto switchの設定

  • ここに特定のホスト宛通信をプロキシに向ける、という個別設定ができます。
  • 今回は特定ホスト配下の全ページを対象にしたいので、ワイルドカードで指定します。
  • 又、ActionにはProxyを指定します。
  • 保存を忘れないようにしましょう。

スクリーンショット 2015-09-01 1.37.22.png

  • 尚、条件は複数設定可能ですが、上から順に適用されることを認識ください

Chrome上で設定したプロファイルを有効化する

  • ツールバー上のアイコンを押下し、"auto switch"を選択します。
  • これで先ほど設定したProfileがChrome上を流れる通信に適用されます。
  • これでChrome側の設定は終了です

スクリーンショット 2015-09-01 1.40.36.png

通信をキャプチャする

  • さきほどProxy SwitchyOmegaに設定したホストへブラウザからアクセスします。
  • そうすると、OWASP ZAP上でそのパケット情報がキャプチャします。
  • この時点では、OWASP ZAPは透過的なプロキシとして動作しているので、特に干渉はしていません。

スクリーンショット 2015-09-01 1.45.01.png

OWASP ZAPの設定その2: ブレークポイントの設定

  • 今回のゴールは改竄したパラメタを送ることにあります。
  • そのために、キャプチャされた通信と同じものが発生した場合、それを一旦OWASP ZAP内で止める必要があります。それを実現するための機能が、ブレークポイントです
  • キャプチャされたパケット上で右クリックし、"Break..."アイテムを押下します
  • これを設定すると、同サイトへの通信をOWASP ZAP上が保留し、改竄できるようになります。

スクリーンショット 2015-09-01 1.47.42.png

  • 設定が済んだら、再度ブラウザから同サイトへアクセスしてみましょう。下記の図のように通信が止められる筈です。
    • 上のほうにあるタブの中の"Break"タブが押下されている状態であれば成功

OWASP ZAPで通信改竄

  • この状態で右側のペイン内にあるものを編集できます。何かしらのパラメタを改竄してみましょう。
    • 例: Cookieヘッダ値の変更

スクリーンショット 2015-09-01 1.54.12.png

  • パラメタ改竄がおわったら、図の上部にある再生ボタンを押します。そうすると改竄されたパケットが対象のサイトへ送信され、レスポンスを受信することができます
  • パラメタ改竄の影響は、レスポンスペインタブで確認しましょう。

スクリーンショット 2015-09-01 2.06.36.png

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49