WebGaot 2 HTTP Proxies

Owasp ZAP を使用してProxyについて学ぶ。

Lesson No.6

ZAP の Firefoxアイコンをクリックすると ZAPとブラウザを連携して使うことができる。 f:id:hirose-test:20210215211940j:plain

ZAP HUDという画面上にZAPのボタンを表示させることができる機能がある。 f:id:hirose-test:20210215211838j:plain

Configure a breakpoint filter

ZAP でリクエストを受ける前に、WebGoat フレームワークから内部リクエストを除外する必要がある。そうしないと ZAP は WebGoat の内部作業にのみ必要なすべてのリクエストを停止する。 基本的には、リクエストヘッダーにPOSTが含まれている場合にリクエストを阻止するブレークポイントが設定されている。開発ツールでネットワークタブをみると、.mvcメッセージが数秒に1回、ポーリングされていて邪魔なので除外する。

ブレークポイントを以下のように設定。 f:id:hirose-test:20210215212956j:plain

チェックボックスブレークポイントをON/OFFできる。グリーン/レッドボタンはもう使わないように。 f:id:hirose-test:20210215213205j:plain

Intercept and modify a request

リクエスト傍受後

  • メソッドをGETに変更

  • ヘッダ 'x-request-intercepted:true' を追加。

  • リクエスト本文を削除し、代わりにクエリ文字列パラメータとして 'changeMe' を送信し、値を 'Requests are tampered easily' に設定(シングルクォーテーションは抜きで)。

f:id:hirose-test:20210215214308j:plain

f:id:hirose-test:20210215214634j:plain

f:id:hirose-test:20210215214718j:plain

"Requests are tampered easily"

/* -----codeの行番号----- */