マルテクテクBETA Security+
CSRF
Cross-Site Request Forgery

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

ひとことで

ログイン中の利用者のブラウザに、意図しないリクエスト(送金・設定変更など)を送信させる攻撃。トークンやSameSite属性で対策する。

たとえると

会社の上司が署名済みの書類の束を持っているところに、他人が「送金指示書」をこっそり紛れ込ませ、上司の名前でそのまま提出させてしまうようなものです。受け付ける側からは、上司本人が出した正規の書類に見えます。

現場ではこう使う

ネットバンキングにログインしたままの利用者が、別のタブで攻撃者の用意したページを開きました。そのページには、銀行に送金のリクエストを自動で送る仕掛けがあり、ブラウザはログイン中のCookieを付けたまま送信します。銀行側に対策がないと、本人の操作として送金が実行されてしまいます。

試験のポイント

EXAM POINT「ログイン中の利用者に、本人の意図しない操作(送金・パスワード変更など)をさせる」と出てきたらCSRFです。ブラウザがCookieを自動で送る仕組みを悪用します。対策は「推測できないトークン(CSRFトークン)の確認」「CookieのSameSite属性」「重要な操作の前の再認証」。スクリプトを実行させるXSS、サーバーにリクエストを送らせるSSRFとの違いが問われます。

混同しやすい用語との違い

  • XSS閲覧者のブラウザで悪意あるスクリプトを実行させる
  • SSRF利用者のブラウザではなく、サーバーに意図しない宛先へリクエストを送らせる
  • CSR名前は似ているが無関係で、証明書の発行を依頼するデータ

関連用語

CSRF が出てくる Security+ の問題に挑戦してみましょう。

無料で演習を始める