OWASP ZAPでWebアプリの脆弱性の検出

はじめまして。罰金の徴収を担当している、高橋です。 PHPでの開発、AWSでのインフラの構築・設定を担当しています。

セキュリティの脆弱性のチェックの方法に詳しくなくても、簡単にWebサイトのセキュリティチェックができる OWASP ZAPを紹介します。

OWASP ZAPとは

オープンソースで提供されている、Webサイトの脆弱性をチェックしてくれるアプリケーションです。 セキュリティの専門家以外の開発者でもセキュリティの脆弱性のチェックが簡単にできるようになっています。
プラグイン形式で脆弱性のチェックのパターンが提供されるので、新しい脆弱性にも対応が可能です。
メニューは一部英語表記の部分もありますが、日本語化されています。

OWASP ZAP のインストールと設定

  • https://code.google.com/p/zaproxy/wiki/Downloads?tm=2から使用しているOSにあったバイナリをダウンロードする
  • インストーラに従って、インストール
  • インストールが終わったら、起動し、左上のプルダウンをProtected modeに変更(ここがstandard_modeになっていると、誤操作で関係のないサイトにアタックをかけてしまう可能性が高くなります)
    f:id:takahashih1234:20150124220418j:plain
  • ツールのオプションから、ポート番号を設定する(デフォルトでは8080となっていますが、Tomcatなとで使用している場合があるので、今回は18080とします)
    f:id:takahashih1234:20150127191127j:plain

    FoxyProxy のインストール

    OWASP ZAP をプロキシサーバとして使用するので、通常のアクセスとOWASP ZAP経由でのアクセスを簡単に切り替えるために、FireFoxプラグインのFoxyProxyを使用します。

  • FireFoxでFoxyProxyhttps://addons.mozilla.org/ja/firefox/addon/foxyproxy-standard/にアクセスしてインストール
  • インストールが終わったら、FoxyProxyを起動し、プロキシを新規追加をクリックする

f:id:takahashih1234:20150127190623j:plain

  • 全般タブで適当なプロキシ名を設定し、プロキシ詳細タブの「ホストまたはIPアドレス」にlocalhost、「ポート」にOWASP ZAP に指定した18080を設定する
  • FoxyProxyで上記で作成したプロキシを指定する

    脆弱性の検出方法

  • 設定が終わったら、FireFox脆弱性をチェックしたいHPにアクセスする
  • アクセスをすると、OWASP ZAPの画面下の履歴タブに、アクセス履歴が表示される
  • レスポンスを解析して、セキュリティの問題がある場合には、アラートが表示される(アラートのレベルは設定で変更することが可能です。)

f:id:takahashih1234:20150124220944j:plain

ブラウザでセキュリティのチェックしたいサイトにアクセスするだけで、OWASP ZAP で脆弱性を見つけることができます。 チェックが終わったら、FoxyProxy でモードを「FoxyProxyを完全に無効化」に設定してください。

次回は、OWASP ZAP を利用してのSQLインジェクションクロスサイトスクリプティングの検出を紹介します。