クロスサイトスクリプティング(XSS)とは?くろすさいとすくりぷてぃんぐ
クロスサイトスクリプティング(XSS)とは、攻撃者が用意した文字列が、ページを組み立てる際にHTMLやJavaScriptの一部として解釈されてしまう脆弱性。狙われるのは閲覧者で、被害サイトのオリジンで動くスクリプトを実行されるため、同一オリジンポリシーの保護をすり抜けてCookieやDOMに触れられる。反射型、格納(蓄積)型、DOM型に分かれる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
HTMLは文字列を連結して組み立てるため、データとコードが同じ平文の中に混在するという構造を持つ。この構造がある限り、値を埋め込む位置ごとに正しい脱出処理をしなければ境界が破れる。システムアーキテクトでは、この対策をどこまでフレームワークやテンプレートエンジンに任せ、どこから設計上の規約として明文化するかという方式判断になる。
具体例
ReactやVueは既定でテキストをエスケープして出力するため、dangerouslySetInnerHTMLのような明示的な抜け道を通らない限り混入が起きにくい構造になっている。加えてContent-Security-Policyヘッダでインラインスクリプトを禁じておくと、実装漏れが1か所あっても実行を止められる多層防御になる。
試験での引っ掛け
対策の中心は出力時のエスケープ(HTMLエンコード)であり、入力時の検査だけでは不十分。特にDOM型はブラウザ側でDOMを組み立てるため、サーバ側のエスケープでは防げない。CSRFとも取り違えやすく、XSSは閲覧者のブラウザで任意のスクリプトを走らせる攻撃、CSRFは正規の認証済みセッションを使って意図しない要求を送らせる攻撃である。
関連用語
出た過去問
出典:平成30年度 秋期 システムアーキテクト試験 午前Ⅱ 問23(IPA)
格納型クロスサイトスクリプティング(Stored XSS又はPersistent XSS)攻撃に該当するものはどれか。
正解:Webサイト上の掲示板に攻撃用スクリプトを忍ばせた書込みを攻撃者が行い、その後に当該掲示板を閲覧した利用者のWebブラウザで、攻撃用スクリプトが実行された。
要点:格納型XSSは保存された不正スクリプトが閲覧者側で実行される
格納型(蓄積型)クロスサイトスクリプティングは、掲示板の投稿など、サーバ側に保存される内容に攻撃用スクリプトを紛れ込ませ、それを閲覧した不特定の利用者のブラウザ上でスクリプトが実行される攻撃である。攻撃者がリンクを踏ませる必要がないため被害が広がりやすい点が反射型との違いである。
出典:令和3年度 春期 システムアーキテクト試験 午前Ⅱ 問17(IPA)
格納型クロスサイトスクリプティング(Stored XSS又はPersistent XSS)攻撃に該当するものはどれか。
正解:Webサイト上の掲示板に攻撃用スクリプトを忍ばせた書込みを攻撃者が行うことによって、その後に当該掲示板を閲覧した利用者のWebブラウザで、攻撃用スクリプトが実行された。
要点:格納型XSSは保存された不正スクリプトが閲覧者側で実行される
格納型(蓄積型)クロスサイトスクリプティングは、掲示板の投稿のようにサーバ側へ保存される内容に攻撃用スクリプトを仕込み、それを閲覧した不特定多数の利用者のブラウザ上でスクリプトを実行させる攻撃である。利用者に細工したリンクを踏ませる必要がないため、被害が広範囲に及びやすい。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。