ばぁど・うぉっちんぐ

セキュリティに強いWeb屋。自由と春を求めて羽ばたく渡り鳥。

このブログはGoogle Analyticsを利用しています

【復習・基礎知識】徳丸本で学んだOWASP ZAPでできること

どーも。ばぁどです。 セキュリティに強いWeb屋です。

諸事情ありまして、ダイエットとニートを始めました。(ニートは1ヶ月限定)。 今まではWebアプリケーション開発やプロジェクトマネジメント(なんちゃって)が中心でしたが、 5月からは脆弱性診断やら、セキュリティコンサルタントやらをやります。

5月からの仕事で必要なOWASP ZAPを徳丸本を読みながら触ってみたので自己学習メモです。 脆弱性についても復習するのでニート期間の初期は徳丸本をひたすら読み返そうと思います。

OWASP ZAP とは

OWASP ZAP(OWASP Zed Attack Proxy)とはOWASP(The Open Web Application Security Project)が開発・公開しているWebアプリケーション脆弱性診断用ツールです。無償で公開がされています。 HTTPメッセージの観察や改変を行うことができ、プロキシとしてホスト端末上で動作させることが可能です。

OWASP ZAPはJavaで記述されており、OWASP ZAPを起動するためにはJavaの実行環境が必要です。

OWASP ZAP のダウンロード

下記サイトよりダウンロードが可能です。

owasp.org

簡易的な使い方

OWASP ZAPを起動した状態でサイトにアクセスすると、HTTPでやりとりしたリクエストやレスポンスの中身を確認することができます。

f:id:UltraBirdTech:20210401182504p:plain
図0

今日学んだ OWASP ZAP でできること

1. リクエストを止めてPOST処理の値を改ざんする

プロキシなので、経由する通信を止めて値の改ざんを行うことが可能です。

プロキシを有効にするには、上部の緑色の右矢印をクリックする必要があります。

f:id:UltraBirdTech:20210401182553p:plain
図1-1

上部の緑色の右矢印が赤くなっていればリクエストを途中で止めることが可能です。

f:id:UltraBirdTech:20210401182629p:plain
図1-2

図1-2の状態で、登録ボタンをクリックするとOWASP ZAP内での表示が変わり、リクエスト途中のもののパラメーターを確認することができます。

f:id:UltraBirdTech:20210401182908p:plain
図1-3. 登録ボタンクリック前

f:id:UltraBirdTech:20210401182944p:plain
図1-4. リクエスト中パラメーター変更前

パラメーターを書き換えて、ステップを進めると遷移した先の画面で値が書き変わっていることを確認できます。

f:id:UltraBirdTech:20210401183021p:plain
図1-5. リクエスト中パラメーター変更後

f:id:UltraBirdTech:20210401183047p:plain
図1-6. 登録後(パラメーター改ざん済み)

2. Basic認証のID/パスワードのデコード

続いて、Basic認証のID/パスワードのデコードです。

以前の仕事でWireSharkなどを使用してBasic認証エンコードはやったことがあったのですが、それらをOWASP ZAP でもできるよということを改めて学びました。

f:id:UltraBirdTech:20210401183511p:plain
図2-1. Basic認証のAuthorizationヘッダー

Basic認証をするさいはAuthorizationヘッダーが付与されます。 この付与されているデータにはBasic [xxxxxxxxxxxx][]内にはIDとパスワードを:(コロン)で繋いだBase64エンコードされた文字列が入ります。

Base64エンコードはOWASP ZAP の機能で行うことができます。

[Tools]→[Encode/Decode/Hash...]

f:id:UltraBirdTech:20210401183846p:plain
図2-2. Base64のデコード

上記のようにOWASP ZAPの機能でBase64のデコードを行うことができました。

まとめ

基本的な技術の復習はとても大切ですよね。

5月に向けて頑張らねば。