CSRF
Cross-Site Request Forgery
CSRF(クロスサイトリクエストフォージェリ)とは
ひとことで
ログイン中の利用者のブラウザに、意図しないリクエスト(送金・設定変更など)を送信させる攻撃。トークンやSameSite属性で対策する。
たとえると
会社の上司が署名済みの書類の束を持っているところに、他人が「送金指示書」をこっそり紛れ込ませ、上司の名前でそのまま提出させてしまうようなものです。受け付ける側からは、上司本人が出した正規の書類に見えます。
現場ではこう使う
ネットバンキングにログインしたままの利用者が、別のタブで攻撃者の用意したページを開きました。そのページには、銀行に送金のリクエストを自動で送る仕掛けがあり、ブラウザはログイン中のCookieを付けたまま送信します。銀行側に対策がないと、本人の操作として送金が実行されてしまいます。
試験のポイント
EXAM POINT「ログイン中の利用者に、本人の意図しない操作(送金・パスワード変更など)をさせる」と出てきたらCSRFです。ブラウザがCookieを自動で送る仕組みを悪用します。対策は「推測できないトークン(CSRFトークン)の確認」「CookieのSameSite属性」「重要な操作の前の再認証」。スクリプトを実行させるXSS、サーバーにリクエストを送らせるSSRFとの違いが問われます。