「CITビジネスグロッサリー」は、CIT経営開発が運営するビジネスラーニングプラットフォームです
XSS(Cross-Site Scripting)は、Webアプリケーションの脆弱性を利用して、サイトに悪意のあるスクリプト(主にJavaScript)を注入する攻撃手法です。
本来、そのサイトで実行されるはずのないスクリプトが、ユーザーのブラウザ上で実行されてしまうため、個人情報の窃取や偽サイトへの誘導など、深刻な被害をもたらします。
攻撃の仕組みによって、大きく3つのタイプに分類されます。
仕組み: 攻撃者が掲示板やプロフィール欄などにスクリプトを投稿し、サーバー(データベース)に保存させます。
被害: そのページを閲覧したすべてのユーザーにスクリプトが実行されます。
仕組み: スクリプトを含む悪質なURLをユーザーにクリックさせます。URL内のパラメータがそのまま画面に表示(反射)される仕組みを悪用します。
被害: URLをクリックした特定のユーザーのみが被害に遭います。
仕組み: サーバー側ではなく、ブラウザ側のJavaScriptがデータを不適切に処理することで発生します。
被害: URLのハッシュ(#以降)などを利用するため、サーバーを介さずに攻撃が完結することがあります。
クッキー(Cookie)の盗難: セッションIDを盗まれ、アカウントを乗っ取られる(セッションハイジャック)。
偽画面の表示: ログインフォームなどを偽装し、パスワードやクレジットカード情報を入力させる。
サイトの改ざん: 意図しないコンテンツの表示や、別の悪意あるサイトへの強制移動(リダイレクト)。
XSSを防ぐための基本は、「ユーザーからの入力値をそのまま出力しない」ことです。
サニタイジング(エスケープ処理): < や > などの特殊記号を、HTMLとして機能しない文字列(< や >)に変換します。
バリデーション: 入力されたデータが期待される形式(電話番号なら数字のみ、など)であるかチェックし、不正なデータは拒否します。
Content Security Policy (CSP) の導入: ブラウザに対して「このドメイン以外のスクリプトは実行しない」といったルールを指示し、万が一の注入に備えます。
HttpOnly属性の付与: Cookieに HttpOnly 属性をつけることで、JavaScriptからCookieを読み取れないようにします。