XSS(クロスサイトスクリプティング)とは?仕組み・被害・対策
攻撃手法・脅威
監修:JIISセキュリティラボ監修者情報を見る
定義
XSS(クロスサイトスクリプティング)とは、Webサイトの表示に攻撃者のスクリプト(プログラム片)を紛れ込ませ、そのページを見た利用者のブラウザ上で実行させる攻撃です。サイトそのものではなく「サイトの利用者」が直接の被害者になる点が特徴で、ログイン情報の乗っ取りや偽画面への誘導に使われます。
仕組み
掲示板・レビュー欄・検索結果表示など、利用者の入力をページに表示する箇所で、入力値の無害化(エスケープ)が不十分だと、攻撃者が仕込んだ<script>等がそのままHTMLとして解釈され、閲覧者のブラウザで実行されます。
実行されたスクリプトは、ログイン状態を保つCookieの窃取、入力内容の盗み見、偽のログイン画面やマルウェア配布サイトへの誘導などに悪用されます。正規サイトの画面上で起きるため、利用者が異変に気づくのは困難です。
実被害の傾向
会員制サイトでのアカウント乗っ取り、ECサイトでの決済情報の窃取(入力フォームに窃取スクリプトを仕込む手口)、正規サイトを踏み台にしたフィッシング誘導などが典型です。「自社サイトが加害の踏み台になる」ため、被害が利用者に及び、信頼の毀損が大きくなりやすい攻撃です。
対策
- 出力時のエスケープ処理:利用者入力をHTMLへ表示する際に無害化する実装が根本対策。
- Content-Security-Policy(CSP):許可していないスクリプトの実行をブラウザ側で制限する保険。
- Cookieの保護属性:HttpOnly・Secure 属性で、スクリプトからのCookie窃取を難しくする。
- WAFの導入:典型的なXSS攻撃パターンのリクエストを手前で検知・遮断する。
サイトドックでの扱い
かんたん健診(無料・パッシブ)では、CSPやCookieの保護属性など、XSSの被害を小さくする「外から見える」設定の有無をその場で確認できます。精密健診では、既知の脆弱性パターンとの照合や応答解析で危険な箇所を確認します。
月額の自動修復では、WAFがXSSを狙う攻撃リクエストをエッジで検知・遮断し、CSPを含むセキュリティヘッダの自動付与でブラウザ側の防御層を追加します。出力エスケープの根本改修が必要な場合は、健診結果で正直に明示し専門家が伴走します。
よくある質問
XSSとSQLインジェクションは何が違いますか?
攻撃の対象が違います。SQLインジェクションはサイトのデータベースを直接攻撃しますが、XSSはサイトの表示を経由して「そのページを見た利用者のブラウザ」を攻撃します。どちらも入力値の扱いの不備が原因で、対策は入力・出力の無害化が基本です。
CSP(Content-Security-Policy)を設定すればXSSは防げますか?
CSPは、許可していないスクリプトの実行をブラウザ側で制限する強力な緩和策ですが、単独ですべてのXSSを防げるわけではありません。出力エスケープの実装を根本対策とし、CSP・Cookie保護属性・WAFを重ねて被害の可能性を下げるのが基本です。
自分のサイトにCSPが設定されているか確認できますか?
サイトドックのかんたん健診(無料・登録不要)で、CSPを含むセキュリティヘッダの設定状況を外形から確認できます。URLを入れるだけで、改善方法までやさしく解説します。
このページの要点
- XSSは、サイトの表示に攻撃者のスクリプトを紛れ込ませ、閲覧者のブラウザで実行させる攻撃。被害者はサイトの利用者
- 根本対策は出力時のエスケープ。CSP・Cookie保護属性・WAFを重ねて被害の可能性を下げる
- かんたん健診(無料)でCSP・Cookie保護属性の設定状況を外形から確認できる
- 自動修復はWAFでの遮断とセキュリティヘッダの自動付与に対応。根本改修が必要な場合は正直に明示
あなたのサイトは大丈夫?無料でセキュリティ健診URLを入れるだけ。登録不要で、外から見える弱点をその場でスコア表示します。
無料で健診する