【復習・基礎知識】徳丸本で学んだ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 ZAPを起動した状態でサイトにアクセスすると、HTTPでやりとりしたリクエストやレスポンスの中身を確認することができます。
今日学んだ OWASP ZAP でできること
1. リクエストを止めてPOST処理の値を改ざんする
プロキシなので、経由する通信を止めて値の改ざんを行うことが可能です。
プロキシを有効にするには、上部の緑色の右矢印をクリックする必要があります。
上部の緑色の右矢印が赤くなっていればリクエストを途中で止めることが可能です。
図1-2の状態で、登録ボタンをクリックするとOWASP ZAP内での表示が変わり、リクエスト途中のもののパラメーターを確認することができます。
パラメーターを書き換えて、ステップを進めると遷移した先の画面で値が書き変わっていることを確認できます。
2. Basic認証のID/パスワードのデコード
続いて、Basic認証のID/パスワードのデコードです。
以前の仕事でWireSharkなどを使用してBasic認証のエンコードはやったことがあったのですが、それらをOWASP ZAP でもできるよということを改めて学びました。
Basic認証をするさいはAuthorizationヘッダーが付与されます。
この付与されているデータにはBasic [xxxxxxxxxxxx]
で[]
内にはIDとパスワードを:
(コロン)で繋いだBase64エンコードされた文字列が入ります。
Base64のエンコードはOWASP ZAP の機能で行うことができます。
[Tools]→[Encode/Decode/Hash...]
上記のようにOWASP ZAPの機能でBase64のデコードを行うことができました。
まとめ
基本的な技術の復習はとても大切ですよね。
5月に向けて頑張らねば。