⚠ サイトの改ざん・マルウェア被害にお困りの方はこちら

XSS(クロスサイトスクリプティング)とは?仕組み・被害・対策

攻撃手法・脅威

監修:JIISセキュリティラボ監修者情報を見る

定義

XSS(クロスサイトスクリプティング)とは、Webサイトの表示に攻撃者のスクリプト(プログラム片)を紛れ込ませ、そのページを見た利用者のブラウザ上で実行させる攻撃です。サイトそのものではなく「サイトの利用者」が直接の被害者になる点が特徴で、ログイン情報の乗っ取りや偽画面への誘導に使われます。

仕組み

掲示板・レビュー欄・検索結果表示など、利用者の入力をページに表示する箇所で、入力値の無害化(エスケープ)が不十分だと、攻撃者が仕込んだ<script>等がそのままHTMLとして解釈され、閲覧者のブラウザで実行されます。

実行されたスクリプトは、ログイン状態を保つCookieの窃取、入力内容の盗み見、偽のログイン画面やマルウェア配布サイトへの誘導などに悪用されます。正規サイトの画面上で起きるため、利用者が異変に気づくのは困難です。

実被害の傾向

会員制サイトでのアカウント乗っ取り、ECサイトでの決済情報の窃取(入力フォームに窃取スクリプトを仕込む手口)、正規サイトを踏み台にしたフィッシング誘導などが典型です。「自社サイトが加害の踏み台になる」ため、被害が利用者に及び、信頼の毀損が大きくなりやすい攻撃です。

対策

サイトドックでの扱い

かんたん健診(無料・パッシブ)では、CSPやCookieの保護属性など、XSSの被害を小さくする「外から見える」設定の有無をその場で確認できます。精密健診では、既知の脆弱性パターンとの照合や応答解析で危険な箇所を確認します。

月額の自動修復では、WAFがXSSを狙う攻撃リクエストをエッジで検知・遮断し、CSPを含むセキュリティヘッダの自動付与でブラウザ側の防御層を追加します。出力エスケープの根本改修が必要な場合は、健診結果で正直に明示し専門家が伴走します。

よくある質問

XSSとSQLインジェクションは何が違いますか?
攻撃の対象が違います。SQLインジェクションはサイトのデータベースを直接攻撃しますが、XSSはサイトの表示を経由して「そのページを見た利用者のブラウザ」を攻撃します。どちらも入力値の扱いの不備が原因で、対策は入力・出力の無害化が基本です。
CSP(Content-Security-Policy)を設定すればXSSは防げますか?
CSPは、許可していないスクリプトの実行をブラウザ側で制限する強力な緩和策ですが、単独ですべてのXSSを防げるわけではありません。出力エスケープの実装を根本対策とし、CSP・Cookie保護属性・WAFを重ねて被害の可能性を下げるのが基本です。
自分のサイトにCSPが設定されているか確認できますか?
サイトドックのかんたん健診(無料・登録不要)で、CSPを含むセキュリティヘッダの設定状況を外形から確認できます。URLを入れるだけで、改善方法までやさしく解説します。

このページの要点

あなたのサイトは大丈夫?無料でセキュリティ健診

URLを入れるだけ。登録不要で、外から見える弱点をその場でスコア表示します。

無料で健診する

関連する用語

クロスサイトスクリプティングCSP(コンテンツセキュリティポリシー)Cookie の HttpOnly / Secure 属性クロスサイトリクエストフォージェリ

関連ページ

自動修復(WAF・セキュリティヘッダ自動付与)無料チェックツール(セキュリティヘッダ確認)セキュリティ完全ガイドに戻る
監修:JIISセキュリティラボ(監修者情報)/ 日本情報基盤サービス株式会社 / www.jiis.co.jp
本ページは一般的な解説であり、個別の環境での適用は専門家にご相談ください。