A5: アクセス制御の不備

OWASP Top Ten には以下の記載があります:

認証されたユーザーに許可される操作権限の制御は、多くの場合で適切に実施されません。攻撃者は、これらの欠陥を利用して、他のユーザーのアカウントへのアクセス、機密ファイルの表示、他のユーザーのデータの変更、アクセス権の変更など、不正な機能および/またはデータにアクセスできてしまう可能性があります。

アプリケーションを操作するユーザーの適切なアクセス制御を実装しない、という単純な間違いが、壊滅的な影響を引き起こす原因となります。「機密情報の漏洩」の例を次に示します。

  1. Web アプリケーションの URL を開き、[OWASP Top 10 Examples] をクリックし、[A5: Broken Access Control] を選択します。 a5-select

  2. ユーザー名とパスワードでログインするように求められます。攻撃者の資格情報 (ユーザー名:badguy パスワード:badguy) でログインしてみましょう。プロフィールページにリダイレクトする必要があります。 A5 プロファイル

  3. URL を確認してください。ウェブサイトは、/owasp/A5/profile/{username} を介してプロファイルページにアクセスする Pretty URLs を実装していることが分かります。

  4. これを応用して、攻撃者は簡単なテストを行うことができます。既知のユーザー名 /owasp/A5/profile/john を使用してURLを変更するだけで、他の誰かのプロフィールができるかどうか試してみましょう。適切なアクセス制御チェックがなければ、管理者権限がなくても、誰でも他の人のプロフィールを表示できます。 A5 エクスプロイト成功

アクセス制御はビジネスロジックの一部であるため、自動スキャンではこの脆弱性を検知できない傾向があります。その場合、これらの問題を特定して修正するには、適切な手動での Peer レビューが必要になります。