Hello there, ('ω')ノ
本来、許可されていないユーザーが、データを見たり操作したりできてしまう状態です。
具体例1: 垂直的権限昇格(Vertical Privilege Escalation)
どんな状態?
一般ユーザーが、本来管理者だけができる操作を行えてしまうケース。
例
- 一般ユーザーが
/adminページにアクセスでき、他のユーザーのアカウントを削除できる。
見つけ方
- URLを直接入力してみる
例えば、以下のように直接アクセスします。
https://insecure-website.com/admin - 管理者専用ページへのリンクを探す 自分の画面にリンクが無くてもURLを推測。
具体例2: 保護されていない機能(Unprotected Functionality)
どんな状態?
機能が誰でも利用できるようになっている状態です。
例
- 管理者ページへのリンクが無いが、URLを直接入力すると普通に使えてしまう。
- URLが robots.txt に記載されていて簡単に見つかる。
robots.txtとは?
サイト運営者が検索エンジンなどに「このページはクロールしないで」と伝えるファイルですが、内容は誰でも見られます。
例:
https://insecure-website.com/robots.txt
中に次のような記述がある場合:
Disallow: /admin
見つけ方
- robots.txt を確認する
- ディレクトリブルートフォースを行う ツールや単純な手作業でURLを試してみる方法です。
アクセス制御を破るためのテスト手順
- ログイン状態でURLを直接入力する
- ログアウト後にもアクセスできるか確認する
- 他のユーザーのアカウントIDをURLに入れて試す
- robots.txt や sitemap.xml をチェックする
- 自動ツールで隠されたディレクトリを探す
まとめ:脆弱性を見つけるためのコツ
- 表に出ていないURLでも試してみる
- 公開されている情報(robots.txtなど)を活用する
- アクセスエラーが出ても気にせず試行を続ける
- ディレクトリ構成を予想する力を養う
Best regards, (^^ゞ