Secure Steady
意図しないリクエスト送信 - CSRF(クロスサイトリクエストフォージェリ) の使い方・オプション・サンプル

意図しないリクエスト送信 - CSRF(クロスサイトリクエストフォージェリ)

ログイン済みのユーザーに意図しないリクエストを送信させる攻撃。

概念図

CSRF(クロスサイトリクエストフォージェリ) diagram

攻撃シナリオ

GET リクエストを悪用した CSRF

bash
<img src="https://bank.com/transfer?to=attacker&amount=10000">

CSRF の仕組み

被害者がログイン済みのサイト(銀行サイトなど)に対して、攻撃者が用意した罠ページから知らないうちにリクエストを送信させます。

ブラウザは自動的に Cookie を送信するため、サーバー側は正規ユーザーからのリクエストと区別できません。

重要な操作(送金、パスワード変更、メールアドレス変更など)が標的になります。

対策

  • CSRF トークン: リクエストごとに一意のトークンを埋め込み、サーバー側で検証する
  • SameSite Cookie: Cookie の送信条件を制限する(SameSite=Lax または Strict
  • Origin ヘッダの検証: リクエスト元のオリジンを確認する
  • 重要な操作の再認証: パスワード変更時にパスワード再入力を求める

関連トピック