IT用語
ログイン中の利用者に、本人が意図しないリクエストを送らせる攻撃。設定の変更や投稿などを本人になりすまして実行される。
- 別名・略称
- クロスサイトリクエストフォージェリ
CSRF(クロスサイトリクエストフォージェリ)は、ログイン中の利用者に、攻撃者が用意したページを開かせるなどして、本人が意図しないリクエストを Webアプリケーションへ送らせる攻撃です。アプリケーション側が「正規の画面から送られたリクエストか」を確かめていない場合に成立します。
仕組み
ブラウザは、対象のサイトへのリクエストにそのサイトの Cookie を自動で付けて送ります。そのため、罠のページに仕込まれたフォームやスクリプトから送られたリクエストでも、ログイン中の本人の操作として処理されてしまいます。
起きる被害
パスワードやメールアドレスの変更、投稿や削除、設定の変更、商品の購入など、ログイン中の利用者ができる操作を勝手に実行されます。管理者が狙われると、サイト全体の設定を変えられるおそれがあります。
対策
- 推測できないトークンをフォームに埋め込み、送信時に確認する。WordPress では nonce(wp_nonce_field()・check_admin_referer() など)を使う
- パスワードの変更など重要な操作の前に、パスワードの再入力を求める
- Cookie に SameSite 属性を付ける
- リクエストの Origin・Referer ヘッダーを確認する








