情報セキュリティマネジメント試験 科目A 重要キーワード解説
クロスサイトスクリプティング(XSS:Cross Site Scripting)とは、脆弱なWebサイトに悪意あるスクリプト(JavaScriptなど)を埋め込み、そのサイトを閲覧した利用者のブラウザ上で実行させる攻撃です。攻撃の対象はサイトを訪れた利用者である点が特徴です。
掲示板やコメント欄、検索結果など、利用者の入力をそのままページに表示する仕組みに脆弱性があると、攻撃者が仕込んだスクリプトが他の利用者の画面で動き、Cookie(セッション情報)の窃取・偽の入力フォーム表示・サイト改ざんなどを引き起こします。
| 種類 | 内容 |
|---|---|
| 反射型XSS | リンクのパラメータ等に仕込まれたスクリプトが、応答ページに反射されて実行される。 |
| 格納型(蓄積型)XSS | 掲示板などにスクリプトが保存され、閲覧者全員に影響する。被害が大きい。 |
| DOM Based XSS | ブラウザ側のスクリプト処理の不備で実行される。 |
盗まれたCookie(セッションID)を悪用されると、セッションハイジャックによるなりすましにつながります。
格納型XSSの脆弱性を突かれ、投稿に仕込まれたスクリプトで閲覧者のセッションCookieが盗まれ、アカウントを乗っ取られる事例があります。HttpOnly属性の設定漏れが被害を拡大させました。
正規サイト上にXSSで偽の入力フォームを表示し、利用者のID・パスワードを盗む手口もあります。正規ドメイン上で動くため利用者が気づきにくいのが厄介です。
<や>などをそのまま表示せず無害な文字に変換することで、スクリプトとして解釈されるのを防ぎます。