LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 3 years have passed since last update.

OWASP ZAP2.9.0で脆弱性診断をする - Access Control Testing

Posted at

Access Control Testing

Access Control Testingはデフォルトでインストールされていないアドオンです。

追加手順は、add-onを追加するを参照ください。

ユーザごとに利用できるWebアプリケーションをテストし、潜在的なアクセス制御の問題を特定できます。アクセスルールを設定し、不正なユーザがアクセスできるWebアプリケーションを特定するための完全な攻撃が行われます。

Access Rules

テストのために、Webアプリケーションのどの部分がどのユーザーによってアクセスされることになっているのかを設定する必要があります。

ルールはコンテキストにごとに設定でき、そのコンテキストのユーザーごとに、各ページが次のいずれかの値になるか設定します。

許可-ユーザーはリソースにアクセスできます
拒否-ユーザーはリソースにアクセスできません
不明-ルールが参照するユーザーがリソースにアクセスできるかどうかについての情報はありません

ただ、1ページずつ設定するのは面倒なので、ZAPではURLのツリーベースの構造を利用しています。特定のルールが定義されていない場合、URL内の親に基づいて各ページの一致するルールを検出します。
つまり、アクセスルールを設定する場合、サブツリー全体に対して明示的に設定する必要があるルールは1つだけで、他のページについてはルールが推論されます。

テスト手順

テスト手順は下記の通りですが、手順が多いので省略して記載します。不明な点は、他の手順を参考にしてください。

  1. セッションプロパティダイアログでコンテキストの認証とユーザ画面で認証方法とユーザを設定する
  2. セッションプロパティダイアログでコンテキストのAuthorizationで、ZAPが未認証リクエストをどのように特定できるかを定義します
  3. Manual ExploreやspiderでWebアプリケーションを探索します(ツリーを作ります)
  4. 各ユーザーのアクセスルールを定義します。どのユーザーがどのWebアプリケーションにアクセスする必要があるかを設定します
  5. アクセス制御タブで攻撃を実行します

スクリーンショット 2020-05-04 23.25.04.png
スクリーンショット 2020-05-04 23.25.08.png
この画面で設定するのは、未認証のリクエストを受け取った時、サーバが返すレスポンスを設定します。ユーザが当該ページにアクセス拒否の場合にどのように振舞うかを定義します。
スクリーンショット 2020-05-04 23.25.12.png
ユーザごとにページに対して、許可か拒否を設定しますが、ツリーの親を設定すると子は、Ruleを継承します。
スクリーンショット 2020-05-04 23.15.09.png
アクセス制御タブのスタートアイコンをクリックし、対象のユーザを選択して、開始します。結果は、下図のように表示されます。
スクリーンショット 2020-05-04 23.30.01.png
対象のユーザは、スタートアイコンをクリックして表示する下図のダイアログで選択します。
スクリーンショット 2020-05-04 23.30.55.png

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up