infoMore than 5 years have passed since last update.
ChromeとOWASP ZAPでWeb通信を改竄
Last updated at Posted at 2015-09-01
- TDU CTF参加した時に使いましたので、メモります。
- ちなみにFireFoxであれば、以下のエントリを参考にすればok
何がしたいか
- ブラウザ <-> Webサーバ間のHTTP通信を補足し、
- その挙動をみて、自分の好みのパラメタやシグネチャを付加し、
- 改造したパケットを再送信し、それがどういった脆弱性につながるかを観察しようとしました。
- TDU CTFではcookie値を書き換えるために利用したという感じです。
- イメージでいうと、下記のローカルProxyにOWASP ZAPを利用して、上記を実現しようとしました。
![](https://qiita-user-contents.imgix.net/http%3A%2F%2Fimage.slidesharecdn.com%2Frandom-140914032713-phpapp02%2F95%2F-10-638.jpg%3Fcb%3D1410665593?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=cc5065b17e3cec59ae31caba69e3a83c)
OWASP ZAPの設定その1: Proxyの設定
- OWASP ZAPのpreferenceから"local proxy"メニューを選択します
- local上で動くので、Addressはlocalhostを選択します
- Portは利用されていないポート番号を指定しましょう。
- 1024以上なら大体何でもいいのではないでしょうか。
- ブラウザのproxyの向け先を上記にすると、OWASP ZAPが通信の内容をキャプチャします
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fi.gyazo.com%2F12ef1b18641b7182220fc33957e37171.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=cffb719a56328ddb5ab3b3a56bac0770)
Chrome側のProxy設定
Proxy SwitchyOmegaのインストール
- Chromeの設定 > 詳細設定 > ネットワーク"プロキシ設定の変更"からプロキシを設定できますが、これをしてしまうと全通信に適用されてしまいます。
- そうなると、OWASP ZAP上のノイズが多くなってしまうので、こちらはやめます。かわりにProxy SwitchyOmegaという拡張機能を使いますので、インストールしてください
Proxy SwitchyOmegaの設定
- ツールバー上に黒いドーナツ上のアイコンがでるので、それをクリックして"Options"ボタンを押します。そうすると設定画面が開きます。
![スクリーンショット 2015-09-01 1.23.10.png スクリーンショット 2015-09-01 1.23.10.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F59166%2F4b1b5be5-897c-0911-2c6f-df860f7377fe.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=7bd20ebc79874327a07ad6e3a0f736c7)
Profiles: Proxyの設定
- 先ほどOWASP ZAPで設定した内容を、Server欄とPort欄に設定します。これでブラウザはOWASP ZAPをプロキシとして、通信を中継させようとします
- 左下の"Apply Changes"ボタンで設定を保存します
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fi.gyazo.com%2F2e1945e76d36244aea2a0aff7e071d4d.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8561de411e59c92d2bf08080f548628c)
Profiles: auto switchの設定
- ここに特定のホスト宛通信をプロキシに向ける、という個別設定ができます。
- 今回は特定ホスト配下の全ページを対象にしたいので、ワイルドカードで指定します。
- 又、ActionにはProxyを指定します。
- 保存を忘れないようにしましょう。
![スクリーンショット 2015-09-01 1.37.22.png スクリーンショット 2015-09-01 1.37.22.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F59166%2F9e5a9277-7d6a-3a3e-03d9-da2d6525e0a3.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5097946f0c2818f5c575b89b68fa57ce)
- 尚、条件は複数設定可能ですが、上から順に適用されることを認識ください
Chrome上で設定したプロファイルを有効化する
- ツールバー上のアイコンを押下し、"auto switch"を選択します。
- これで先ほど設定したProfileがChrome上を流れる通信に適用されます。
- これでChrome側の設定は終了です
![スクリーンショット 2015-09-01 1.40.36.png スクリーンショット 2015-09-01 1.40.36.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F59166%2F9de5fd22-b595-67a5-3750-0a9864553a43.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ca820b602cb510313eec77f96e52445c)
通信をキャプチャする
- さきほどProxy SwitchyOmegaに設定したホストへブラウザからアクセスします。
- そうすると、OWASP ZAP上でそのパケット情報がキャプチャします。
- この時点では、OWASP ZAPは透過的なプロキシとして動作しているので、特に干渉はしていません。
![スクリーンショット 2015-09-01 1.45.01.png スクリーンショット 2015-09-01 1.45.01.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F59166%2Febb25e64-d749-d0a2-1634-697e677be824.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=03b17e10e96ed20499109ab9da34cbde)
OWASP ZAPの設定その2: ブレークポイントの設定
- 今回のゴールは改竄したパラメタを送ることにあります。
- そのために、キャプチャされた通信と同じものが発生した場合、それを一旦OWASP ZAP内で止める必要があります。それを実現するための機能が、ブレークポイントです
- キャプチャされたパケット上で右クリックし、"Break..."アイテムを押下します
- これを設定すると、同サイトへの通信をOWASP ZAP上が保留し、改竄できるようになります。
![スクリーンショット 2015-09-01 1.47.42.png スクリーンショット 2015-09-01 1.47.42.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F59166%2Fca1d3699-4984-04e1-71b4-ec6d601f24fb.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ffa8ea45be6c7f5ca2166e4f62f99731)
- 設定が済んだら、再度ブラウザから同サイトへアクセスしてみましょう。下記の図のように通信が止められる筈です。
- 上のほうにあるタブの中の"Break"タブが押下されている状態であれば成功
OWASP ZAPで通信改竄
- この状態で右側のペイン内にあるものを編集できます。何かしらのパラメタを改竄してみましょう。
![スクリーンショット 2015-09-01 1.54.12.png スクリーンショット 2015-09-01 1.54.12.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F59166%2F53310556-700b-e0de-6483-04e5939467f3.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=23f2b55b71289fe9b992d2ce1c1a86bf)
- パラメタ改竄がおわったら、図の上部にある再生ボタンを押します。そうすると改竄されたパケットが対象のサイトへ送信され、レスポンスを受信することができます
- パラメタ改竄の影響は、レスポンスペインタブで確認しましょう。
![スクリーンショット 2015-09-01 2.06.36.png スクリーンショット 2015-09-01 2.06.36.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F59166%2F44afbaf8-0b5e-1e2a-d0f8-b570357eeac6.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=69408c4918ab08db8fd4ff373e3c3439)
42Go to list of users who liked
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up