システムアーキテクト暗記無料で始める

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

クロスサイトスクリプティング(XSS)とは、攻撃者が用意した文字列が、ページを組み立てる際にHTMLやJavaScriptの一部として解釈されてしまう脆弱性。狙われるのは閲覧者で、被害サイトのオリジンで動くスクリプトを実行されるため、同一オリジンポリシーの保護をすり抜けてCookieやDOMに触れられる。反射型、格納(蓄積)型、DOM型に分かれる。

最終更新:2026-10-06

試験情報

システムアーキテクト試験の過去問では2回出題されています(2018年度〜2021年度)。

システムアーキテクト試験の頻出用語/午前II

別名:XSS

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

背景

HTMLは文字列を連結して組み立てるため、データとコードが同じ平文の中に混在するという構造を持つ。この構造がある限り、値を埋め込む位置ごとに正しい脱出処理をしなければ境界が破れる。システムアーキテクトでは、この対策をどこまでフレームワークやテンプレートエンジンに任せ、どこから設計上の規約として明文化するかという方式判断になる。

具体例

ReactやVueは既定でテキストをエスケープして出力するため、dangerouslySetInnerHTMLのような明示的な抜け道を通らない限り混入が起きにくい構造になっている。加えてContent-Security-Policyヘッダでインラインスクリプトを禁じておくと、実装漏れが1か所あっても実行を止められる多層防御になる。

試験での引っ掛け

対策の中心は出力時のエスケープ(HTMLエンコード)であり、入力時の検査だけでは不十分。特にDOM型はブラウザ側でDOMを組み立てるため、サーバ側のエスケープでは防げない。CSRFとも取り違えやすく、XSSは閲覧者のブラウザで任意のスクリプトを走らせる攻撃、CSRFは正規の認証済みセッションを使って意図しない要求を送らせる攻撃である。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では2回出題(2018年度〜2021年度)
  • 分野:午前II
  • 対策の中心は出力時のエスケープ(HTMLエンコード)であり、入力時の検査だけでは不十分。