Access Control Testing
Access Control Testingはデフォルトでインストールされていないアドオンです。
追加手順は、add-onを追加するを参照ください。
ユーザごとに利用できるWebアプリケーションをテストし、潜在的なアクセス制御の問題を特定できます。アクセスルールを設定し、不正なユーザがアクセスできるWebアプリケーションを特定するための完全な攻撃が行われます。
Access Rules
テストのために、Webアプリケーションのどの部分がどのユーザーによってアクセスされることになっているのかを設定する必要があります。
ルールはコンテキストにごとに設定でき、そのコンテキストのユーザーごとに、各ページが次のいずれかの値になるか設定します。
許可-ユーザーはリソースにアクセスできます
拒否-ユーザーはリソースにアクセスできません
不明-ルールが参照するユーザーがリソースにアクセスできるかどうかについての情報はありません
ただ、1ページずつ設定するのは面倒なので、ZAPではURLのツリーベースの構造を利用しています。特定のルールが定義されていない場合、URL内の親に基づいて各ページの一致するルールを検出します。
つまり、アクセスルールを設定する場合、サブツリー全体に対して明示的に設定する必要があるルールは1つだけで、他のページについてはルールが推論されます。
テスト手順
テスト手順は下記の通りですが、手順が多いので省略して記載します。不明な点は、他の手順を参考にしてください。
- セッションプロパティダイアログでコンテキストの認証とユーザ画面で認証方法とユーザを設定する
- セッションプロパティダイアログでコンテキストのAuthorizationで、ZAPが未認証リクエストをどのように特定できるかを定義します
- Manual ExploreやspiderでWebアプリケーションを探索します(ツリーを作ります)
- 各ユーザーのアクセスルールを定義します。どのユーザーがどのWebアプリケーションにアクセスする必要があるかを設定します
- アクセス制御タブで攻撃を実行します