logo hsb.horse
← 用語集一覧に戻る

Glossary

IDOR(Insecure Direct Object Reference)

IDORは、参照IDを直接指定することで本来アクセスできないリソースに到達できる脆弱性。認可チェック漏れで発生する。

公開日: 更新日:

IDOR(Insecure Direct Object Reference)は、
ユーザーがオブジェクトIDなどを直接指定できる設計で、認可チェックが不十分な場合に発生する脆弱性。

何が問題か

本来アクセス権のないデータでも、URLやパラメータのIDを差し替えるだけで取得・更新できてしまう。

例:

  • /users/123/profile123 を別IDに変更すると他人の情報が見える
  • invoice_id=1001 を変更すると他人の請求情報にアクセスできる

主な原因

  • 認証はしているが、認可(そのユーザーが対象データにアクセス可能か)の検証がない
  • クライアントから渡されたIDをそのまま信用している

基本対策

  • すべての取得・更新APIでオブジェクト単位の認可チェックを行う
  • ID指定時は「ログインユーザーが所有する範囲」で絞り込む
  • 推測困難なIDを使っても、認可チェックを省略しない