強制ブラウズ

強制ブラウズとは
強制ブラウズとは、Webサイト上に配置されているものの広く公開するつもりはないページが、URLが推測されたり漏えいしてしまうことで、第三者にそのページの存在が知られてしまい、ページにアクセスされてしまう問題です。
例えば、発表前のプレスリリース記事や、一般には公開していない隠し機能のURL、特定のメンバー間のみで共有するつもりの機密情報が記載されたページなどが第三者に知られてしまい、それらのページに第三者からアクセスされるといったようなものです。
特に、20240401.html のようにそのページの公開予定日を意味するURLであったり、03.html のように過去の他のページから連番になっているURLなどは、容易に推測が可能です。
強制ブラウズの対策方法
広く公開するのではなく、限られた者にだけアクセスを許可するようなページは、必ず認証と認可によってアクセス制御を行うようにします。
参考記事:ログイン画面を狙った攻撃、アクセス制御と認可制御
どうしても認証と認可によるアクセス制御が実装できないときには、該当のページにアクセスするためのURLは複雑で容易に推測できないものにします。また、該当ページへのアクセスのログを監視することで、不正なアクセスが発生していないことを確認するようにします。
まとめ
本記事ではURLを知られてしまうことで第三者にページにアクセスされてしまう強制ブラウズについて解説しました。限られた者だけにアクセスを許可するページに対しては、認証と認可によるアクセス制御を行うようにしてください。
本記事がセキュアなWebサイト構築の一助になれば幸いです。
下記表の左側にはWebアプリケーションで実装されるそれぞれの機能、表の右側にはその機能を実装するときに発生しがちな代表的な脆弱性や攻撃手法を掲載しています。
どのような機能の実装時にどのような脆弱性を作りこんでしまうのかの参考にしてください。
| 実装する機能 | 発生する脆弱性や関連する攻撃手法 | |
|---|---|---|
| ログイン処理 | 認証機能の突破、セッションに関連する問題 | |
| ユーザーごとの機能 | 認可制御の問題、強制ブラウズ | |
| データの 入出力 |
全体 | パラメータ操作、コードインジェクション |
| HTMLの出力 | クロスサイト・スクリプティング(XSS) | |
| データベースへの アクセス |
SQLインジェクション | |
| ファイルへのアクセス | ディレクトリトラバーサル | |
| 外部コマンドの実行 | OSコマンドインジェクション | |
| サーバー上で状態が変化する処理 | クロスサイト・リクエスト・フォージェリ(CSRF) | |
| エラー処理 | エラーメッセージによる情報漏えい | |
| サーバーからのリクエスト発行 | サーバーサイド・リクエスト・フォージェリ(SSRF) | |
| 正規表現の使用時 | 正規表現によるDoS(ReDoS) | |
| アプリケーション全体 | レースコンディション、バックドアやデバッグモードの残存 | |

