用語集

クロスサイト・スクリプティング(Cross-Site Scripting / XSS)

ウェブアプリケーションでHTMLページを出力するプログラムにおいては、文字列を出力する際、それがテキストとして出力する部分なのか、それともHTMLタグとして出力する部分なのかによって、本来、文字列に対して行うべき処理が異なる。テキストとして処理する部分では、「<」「>」「&」がタグ等として解釈されないよう「<」「>」「&」に変換する必要があり、また、引用符で括った部分に出力する場合は、埋め込む文字列中に含まれる同じ引用符をエスケープ処理しなくてはならない。これを怠ると、開発者の意図に反して画面が崩れるといった不具合が生ずる。このバグが外部から与えられ得る文字列を表示する箇所に存在すると、それはセキュリティ上の問題即ち脆弱性となる。攻撃者がスクリプトを含む文字列を与えた場合、スクリプトの同一ドメインルールのセキュリティモデルが破られ、利用者のcookieを盗まれたり、本物サイト上に偽のページを表示させられフィッシング詐欺につながるといった危険をもたらす。このような攻撃をクロスサイト・スクリプティング攻撃と呼び、その原因箇所を同脆弱性と呼ぶ。
(出典:独立行政法人情報処理推進機構 用語集 技術コース標準編/専門編 https://www.ipa.go.jp/files/000013473.pdf)