🔐 IDORとは?
IDOR(Insecure Direct Object Reference)
日本語では「不適切な直接オブジェクト参照」。
他人のデータIDを推測・改ざんするだけで、他人の情報にアクセスできてしまう脆弱性 のこと。
💡 かんたんに言うと
本来は:
/profile?user_id=123 ← 自分
なのに、URLを
/profile?user_id=456 ← 他人
に変えるだけで
他人のプロフィールが見えてしまう状態。
👉 これは「認可チェック」がないのが原因。
🧠 なぜ起きる?
サーバー側が
- 「ログインしているか?」はチェックする
- でも「そのIDにアクセスしていい人か?」をチェックしない
から発生します。
📌 どんな被害?
- 他人の個人情報閲覧
- 他人の注文履歴閲覧
- 他人のアカウント情報変更
- データ削除
🛡 対策は?
- 必ずサーバー側で認可チェック
user_idとログインユーザーを照合
- 推測しにくいID(UUIDなど)を使う
- オブジェクトごとのアクセス制御
🎯 一言まとめ
IDOR = 「IDをいじるだけで他人のデータが見れるバグ」