クロスサイトスクリプティングとは?くろすさいとすくりぷてぃんぐ
クロスサイトスクリプティングとは、利用者が入力した文字列をそのままページに出してしまうWebサイトを踏み台にして、攻撃者のスクリプトを閲覧者のブラウザ上で動かす攻撃。動いたスクリプトはそのサイトの権限で動くため、クッキーに入ったセッションIDを盗んだり、偽の入力欄を表示して情報を打ち込ませたりできる。
最終更新:2026-10-10
この語が出る過去問を解く →背景
HTMLは文章もタグも同じ文字列で書くため、入力された<や>をそのまま出力すると、データのつもりの文字列が命令として解釈されてしまう。ブラウザは同じサイトから届いたスクリプトを信頼する決まり(同一生成元ポリシー)なので、ブラウザ側では止められない。だから直すのはサイト側の出力処理で、記号を無害な表記へ置き換えるエスケープが根本対策になる。
具体例
投稿がそのまま表示される掲示板に細工した文字列を書き込むと、そのページを開いた全員のブラウザで実行される(蓄積型)。検索語をそのまま画面に出す検索結果ページでは、細工したURLを踏ませる形になる(反射型)。Webの安全性を扱う国際的な非営利団体OWASPの脆弱性一覧にも長く挙げられている。
試験での引っ掛け
被害を受けるのはサイトのサーバではなく、そのサイトを訪れた利用者である。攻撃対象の取り違えが最も多い。クッキーにHttpOnly属性を付けるのは盗まれにくくする軽減策で、根本対策はエスケープ。利用者に意図しない操作を送信させるCSRFとも別物である。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 秋期 基本情報技術者試験 午前 問42(IPA)解説で登場
WAFの説明はどれか。
正解:Webサイトに対するアクセス内容を監視し,攻撃とみなされるパターンを検知したときに当該アクセスを遮断する。
要点:WAFはHTTPの内容を検査してWeb攻撃を遮断する
WAF(Web Application Firewall)は、Webアプリケーションへの通信内容を検査し、SQLインジェクションやクロスサイトスクリプティングなど攻撃と判断されるパターンを含むアクセスを遮断する仕組みである。通常のファイアウォールがポート単位で制御するのに対し、HTTPの中身まで見る点が特徴である。
出典:平成28年度 春期 基本情報技術者試験 午前 問43(IPA)解説で登場
クライアントとWebサーバの間において,クライアントからWebサーバに送信されたデータを検査して,SQLインジェクションなどの攻撃を遮断するためのものはどれか。
正解:WAF
要点:WAFはHTTPの中身を検査してWeb攻撃を遮断する
WAF(Web Application Firewall)は、HTTPの通信内容そのものを検査し、攻撃に典型的なパターンを含むリクエストを遮断する。パケットヘッダしか見ない従来型ファイアウォールでは防げない、SQLインジェクションやクロスサイトスクリプティングへの対策として位置付けられる。アプリケーション改修が難しい場合の緩和策としても使われる。
出典:令和4年度 公開問題 基本情報技術者試験 科目A 問36(IPA)解説で登場
SQLインジェクション攻撃による被害を防ぐ方法はどれか。
正解:入力された文字が、データベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
要点:SQL文の制御記号として解釈させないのが根本対策
SQLインジェクションは、入力値に含まれる引用符などの記号がSQL文の一部として解釈されてしまうことで起こる。対策は、入力された文字をSQLにとって特別な意味をもつ記号として扱わせないことであり、プレースホルダを使った問合せや適切なエスケープ処理がこれに当たる。HTMLタグの無害化はクロスサイトスクリプティング、上位ディレクトリ指定の拒否はディレクトリトラバーサルへの対策である。
出典:令和7年度 公開問題 基本情報技術者試験 科目A 問10(IPA)解説で登場
WAFの説明はどれか。
正解:Webサイトに対するアクセス内容を監視し,攻撃とみなされるパターンを検知したときに当該アクセスを遮断する。
要点:WAFはHTTPの中身を検査し攻撃を遮断する仕組み
WAFはWebアプリケーションへの通信内容を検査し、SQLインジェクションやクロスサイトスクリプティングなど攻撃とみなせるパターンを検知して遮断する仕組みである。ネットワーク層で通信を絞るファイアウォールとは異なり、HTTPの中身まで見る点が特徴になる。WPA2やSIEM、UTMとは目的が異なる。
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問17(IPA)
製造業のA社では、ECサイト(以下、A社のECサイトをAサイトという)を使用し、個人向けの製品販売を行っている。Aサイトは、A社の製品やサービスが検索可能で、ロ…
正解:項番1: B社, 項番2: C社, 項番3: B社
要点:PaaSではOS・ミドルは事業者、アプリは利用者側の責任
責任の分界点は、誰がその層を管理しているかで決まります。PaaSではOSやミドルウェアの管理は事業者側の範囲なので、アプリケーションサーバのOSとDBMSの既知の脆弱性への対処はPaaS提供者であるB社が担います。一方、クロスサイトスクリプティングはWebアプリケーションプログラムの脆弱性であり、委託契約で対策を担うと定めたC社が対処します。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。