応用情報暗記無料で始める

クロスサイトスクリプティング(XSS)とは?くろすさいとすくりぷてぃんぐ

クロスサイトスクリプティング(XSS)とは、利用者由来の文字列がそのままHTMLやJavaScriptとして出力される欠陥を突き、被害者のブラウザ上で攻撃者のスクリプトを実行させる攻撃。実行は正規サイトのオリジンの権限で起こるため、Cookieの窃取も画面の差し替えも成立する。反射型・格納型・DOM型の3類型があり、出力先がHTML本文か属性値かスクリプト内かで必要な処理が変わる。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では2回出題され、ほかに4問の解説で触れられています(2016年度〜2024年度)。

応用情報技術者試験の頻出用語/テクノロジ系

別名:クロスサイトスクリプティング、XSS

この語が出る過去問を解く →

背景

Webはデータとコードを同じHTML文字列に載せて運ぶ。文字列を組み立てて返す限り、どこまでが表示すべき文字でどこからが実行すべきコードかは出力の瞬間にしか決まらない。同一オリジンポリシーは「他サイトのスクリプト」を隔てる仕組みであって、正規サイト自身が吐き出したスクリプトは信頼してしまう。この構造上の隙をふさぐ責任が出力側にあることを説明できるかが、科目Bの記述で問われる。

具体例

ReactやVueのテンプレートは埋め込んだ値を既定でHTMLエスケープするため、通常の書き方をしている限りXSSは起きず、危険箇所はdangerouslySetInnerHTMLのような明示的な迂回口に絞られる。GitHubは自社サービスへのCSP導入の過程を技術ブログで公開しており、スクリプトの読み込み元を限定すれば、万一の混入時にも外部への送信を止められることを示している。

試験での引っ掛け

CSRFとの取り違えが最頻出で、XSSは被害者のブラウザで任意のスクリプトを走らせるもの、CSRFは被害者の正規セッションを使って意図しない要求を送らせるもの。DOM型はサーバがHTMLを組み立てないため、サーバ側のエスケープだけでは防げない。HttpOnlyはCookieの窃取を難しくするだけでXSSの成立自体は止められず、入力時の検証も出力時のエスケープの代わりにはならない。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では2回出題(2016年度〜2024年度)
  • 分野:テクノロジ系
  • CSRFとの取り違えが最頻出で、XSSは被害者のブラウザで任意のスクリプトを走らせるもの、CSRFは被害者の正規セッションを使って意図しない要求を送らせるもの。