Owasp ZAP を使用してProxyについて学ぶ。
Lesson No.6
ZAP の Firefoxアイコンをクリックすると ZAPとブラウザを連携して使うことができる。
ZAP HUDという画面上にZAPのボタンを表示させることができる機能がある。
Configure a breakpoint filter
ZAP でリクエストを受ける前に、WebGoat フレームワークから内部リクエストを除外する必要がある。そうしないと ZAP は WebGoat の内部作業にのみ必要なすべてのリクエストを停止する。 基本的には、リクエストヘッダーにPOSTが含まれている場合にリクエストを阻止するブレークポイントが設定されている。開発ツールでネットワークタブをみると、.mvcメッセージが数秒に1回、ポーリングされていて邪魔なので除外する。
ブレークポイントを以下のように設定。
チェックボックスでブレークポイントをON/OFFできる。グリーン/レッドボタンはもう使わないように。
Intercept and modify a request
リクエスト傍受後
メソッドをGETに変更
ヘッダ 'x-request-intercepted:true' を追加。
リクエスト本文を削除し、代わりにクエリ文字列パラメータとして 'changeMe' を送信し、値を 'Requests are tampered easily' に設定(シングルクォーテーションは抜きで)。
"Requests are tampered easily"