基本情報技術者Webと認証の安全性オリジナル・公式資料照合難易度★★★☆☆
Cookieによるログイン状態を使うWebアプリで、利用者が別サイトへ誘導され、そのサイトから送られた送金POSTが本人のCookie付きで実行された。POSTであることだけでは防げなかった。この不正な要求への基本対策として適切なのはどれか。
A
状態を変える要求にセッションと結び付いた予測困難なCSRFトークンを持たせ、サーバーが検証する★ 正解
攻撃者が取得・予測できない正規のトークンをサーバーで照合し、ブラウザが自動送信するCookieだけで処理を受け付けない対策です。
B
送金要求をPOSTからGETへ変えれば、ブラウザはCookieを送らなくなると考える
GETでも条件が合えばCookieは送られます。状態変更をGETに移すことは適切なCSRF対策ではありません。
C
CookieをHttpOnlyにして値を読ませなければ、送金要求のCSRF検証を省けるとする
攻撃者はCookie値を読めなくても、ブラウザにCookie付き要求を送らせることがあります。HttpOnlyだけでCSRF検証を省きません。
D
画面上で送金ボタンを隠し、サーバー側で要求の出所やトークンを確認しない
画面を経由せずに要求を送れます。サーバー側での防御を省いてよい理由にはなりません。
解説
CSRFは、ブラウザが認証情報を自動送信する仕組みを悪用します。予測困難でセッションに結び付くトークンをサーバー側で検証します。SameSiteやOrigin検証等も組み合わせますが、POSTやHttpOnlyだけで十分とはしません。
根拠資料・確認情報
対応範囲:2026年度 基本情報技術者試験 科目A・B
資料確認日:2026-10-28
同じレッスンの問題
問題 1
利用者名から会員を検索するSQLを、文字列連結で作っている。利用者名に引用符やSQL断片が含まれると、検索条件の構造が変わってしまう。値として受け取る利用者名に対する基本的な修正はどれか。
問題 2
コメント欄では利用者の入力を装飾せず、文字としてそのまま表示したい。ブラウザ側で入力をinnerHTMLへ入れると、HTMLタグが解釈されてスクリプトが動くおそれがある。この表示位置に適切な対策はどれか。
問題 4
パスワード保存方式を見直し、同じパスワードの利用者がいても、ハッシュの事前計算結果を利用者間でそのまま使い回しにくくしたい。適切なパスワード用ハッシュと計算コストを使うことに加え、ソルトをどう扱うのが適切か。
問題 5
攻撃者が偽ログイン画面へ入力されたパスワードとワンタイムコードを即時に正規サイトへ中継している。この中継型フィッシングへの耐性を高めるため、正規のサービスのオリジンに認証を結び付ける方式はどれか。登録・復旧経路も適切に保護されているものとする。