科目B対策へ戻る

Webサイトのセキュリティ診断とセッションフィクセーション

IPA公式サンプル1問3答サンプル 問2目安 15分

出典:情報処理安全確保支援士試験 科目B サンプル問題 問2(独立行政法人情報処理推進機構、2026年8月31日公表)

改変・注記: 図2(画面遷移図)は、画面の一覧と遷移の一覧表に書き換えている。サンプル問題は新たな出題分野・形式のイメージを示すもので、実際の試験と同じ作成・確認プロセスは経ていない(IPA の公表ページ https://www.ipa.go.jp/shiken/syllabus/henkou/2026/20260622.html より)。解説は本アプリで作成したもの。

B社は,セキュリティ診断サービスを提供している会社である。このたび,転職支援サービスを提供しているM社から,転職支援Webサイト(以下,Mサイトという)のセキュリティ診断を受注した。

Mサイトを利用する求職者は,氏名,自宅住所,電話番号,勤務先などの求職者属性情報と,希望職種,希望条件などの求職情報を入力する。求人企業は,会社情報,求人情報,求人担当者の氏名,所属部署などの情報を入力する。

Mサイトは,機能を追加した新しいバージョンのWebアプリケーションプログラム(以下,MサイトのWebアプリケーションプログラムをWebアプリという)の開発が完了したところであり,リリース前である。

〔セキュリティ診断の診断対象と診断方法〕

今回のセキュリティ診断の診断対象と診断方法は,図1のとおりである。

【診断対象】

  • Mサイトには本番用サイトと検証用サイトがあり,診断対象はMサイトの検証用サイトとする。検証用サイトには,開発が完了した新しいバージョンのWebアプリが導入されている。なお,本番用サイトと検証用サイトは,同一の構成である。
  • 検証用サイトでは,アクセス元のIPアドレスを制限している。診断に当たり,B社からも検証用サイトにアクセスできるように,検証用サイトの設定を変更する。
  • 検証用サイトには,テスト用疑似データが投入されている。

【診断方法】

  • B社の社内にある診断用PCからインターネットを経由して診断を行う。
  • Webアプリの脆弱性の検出を行う。
  • Webアプリの脆弱性の検出は,診断ツールと診断員の手作業で行う。
  • 診断に当たり,必要に応じてMサイトの設計書を参照する。

図1 診断対象と診断方法

診断の際に参照した,Mサイトの設計書中の画面遷移図を図2に,各画面のURLを表1に示す。

図2 画面遷移図(抜粋。本アプリでは画面と遷移の一覧に書き換えている)

画面番号画面名画面上の入力項目・ボタン
01ログイン利用者ID,PW,PW再設定ボタン,ログインボタン
02求人企業トップ求人情報登録,応募者確認,問合せ確認,マイページの各ボタン
03求人企業マイページPW変更ボタン
04PW変更旧PW,新PW,新PW(確認用),変更ボタン
05PW変更完了“PWを変更しました”,OKボタン
06PW再設定(1)利用者ID,メール送信ボタン
07メール送信完了“メールを送信しました メール中のリンクから処理を継続してください”
08PW再設定(2)新PW,新PW(確認用),PW再設定ボタン
09PW再設定完了“PWを再設定しました”,OKボタン
画面遷移遷移元(操作)遷移先CSRF対策
(ア)01のログインボタン01施されていない
(イ)01のログインボタン02施されていない
(ウ)01のPW再設定ボタン06施されていない
(エ)02のマイページボタン03施されていない
(オ)03のPW変更ボタン04施されていない
(カ)04の変更ボタン05施されている
(キ)05のOKボタン03施されていない
(ク)¹⁾06のメール送信ボタン07施されている
(ケ)08のPW再設定ボタン09施されている
(コ)09のOKボタン01施されていない

PW:パスワード メール:電子メール

注記1 ログインしていない状態で,02〜05の画面にアクセスした場合,エラー画面が表示される。

注記2 設問に関係しない画面,ボタン及び画面遷移は省略している。

注¹⁾ 画面遷移の際,Mサイトから,登録しているメールアドレスに,PW再設定用URLが記載されたメール(あ)を送信する。利用者がメール(あ)に記載されたPW再設定用URLにアクセスすると,画面08を表示する。

表1 各画面のURL

注¹⁾ xは,PW再設定を行う都度生成されるランダムな英数字32字の文字列である。

〔セキュリティ診断報告書〕

B社は,セキュリティ診断を実施し,図3の診断報告書を作成した。

診断報告書

1章 診断結果概要 (省略)

2章 Webアプリケーションプログラムの診断結果

2.1 検出した脆弱性の概要 検出した脆弱性は,表Aのとおりである。

表A 検出したWebアプリケーションプログラムの脆弱性の一覧

項番重要度脆弱性の種類検出箇所
1(省略)セッションフィクセーション画面遷移【 a1 】
2(省略)メールヘッダーインジェクション(省略)
3(省略)HTTPヘッダーの不備全ての画面遷移

2.2 検出した脆弱性の説明

2.2.1 セッションフィクセーション

(1) 脆弱性の内容 Mサイトではform内のhiddenフィールドであるsessionIDの値だけでセッション管理を実施していた。しかし,表Bのいずれの画面遷移においても,HTTPレスポンス中のsessionIDの値が同一であった。

表B セッションフィクセーション脆弱性の確認

画面遷移HTTPレスポンス中のsessionID
Webブラウザに直接URLを入力して,画面01を表示したとき<input type="hidden" id="sessionID" name="sessionID" value="764b2ac2-0452-49e4-92a7-0914fa005011">
画面遷移(ア)<input type="hidden" id="sessionID" name="sessionID" value="764b2ac2-0452-49e4-92a7-0914fa005011">
画面遷移(イ)<input type="hidden" id="sessionID" name="sessionID" value="764b2ac2-0452-49e4-92a7-0914fa005011">
画面遷移(エ)<input type="hidden" id="sessionID" name="sessionID" value="764b2ac2-0452-49e4-92a7-0914fa005011">

攻撃者が図Aの手順でこの脆弱性を悪用すると,Mサイトに不正にログインすることができる。

手順1:求人企業への問合せ先として登録したメールアドレスを,何らかの方法で入手する。
手順2:URL“【 a2 】”にアクセスして,sessionIDを入手する。
手順3:次の二つの要素を含むHTMLを作成する。
 - 手順2で入手したsessionIDを記述したフォーム
 - 当該HTMLがWebブラウザに読み込まれた直後に,上記のフォームをURL“【 a2 】”にPOSTメソッドで送信するスクリプト
手順4:手順3で作成したHTMLを,罠サイトに置く。
手順5:手順4のHTMLへのリンクを含むメールを作成し,手順1で入手したメールアドレスに送信する。
手順6:手順5のメールがメール受信者に届き,罠サイトにアクセスするのを待つ。
手順7:罠サイトへのアクセスを検知後,【 b 】が完了することを期待して数分間待ち,手順2で入手したsessionIDを指定した状態で,URL“【 a2 】”にアクセスする。

図A セッションフィクセーション脆弱性を悪用して不正ログインする手順

攻撃者が,セッションフィクセーション脆弱性を悪用して不正ログインに成功し,画面02で応募者確認ボタンをクリックして,当該企業の求人に応募した求職者の求職者属性情報と求職情報を閲覧できる。また,同じ画面02で問合せ確認ボタンをクリックして,当該企業に問合せを行った求職者の求職者属性情報と問合せ内容を閲覧できる。

(2) 脆弱性の修正方法 【 a1 】の画面遷移の際に実行されるコードにおいて,【 c 】ことを推奨する。

(省略)

図3 診断報告書

B社は,M社に診断報告書を提出し,セキュリティ診断を完了した。

設問1

図3中の表A中の【 a1 】に入れる図2中の画面遷移の記号と,図3中の図A中の【 a2 】に入れる表1中のURLの組みはどれか。解答群のうち,最も適切なものを選べ。

解答群

a1a2
ア(ア)https://test.△△△.jp/
イ(ア)https://test.△△△.jp/mypage
ウ(イ)https://test.△△△.jp/
エ(イ)https://test.△△△.jp/mypage
オ(エ)https://test.△△△.jp/
カ(エ)https://test.△△△.jp/mypage

設問2

次の動作のうち,図A中の【 b 】に入れるものはどれか。解答群のうち,最も適切なものを選べ。

解答群

設問3

次の修正方法のうち,図3中の【 c 】に入れるものはどれか。解答群のうち,最も適切なものを選べ。

解答群

正解 0 / 解答 0(全3設問)

Webサイトのセキュリティ診断とセッションフィクセーション | 行政書士AI学習