攻撃と脅威
クロスサイトスクリプティング(XSS)
別称: XSS
定義
他のユーザーが閲覧するページに悪意あるスクリプトを注入し、当該サイトのオリジンとして被害者のブラウザで実行させる Web 脆弱性。
クロスサイトスクリプティング(XSS)は、Web アプリケーションが信頼できない入力を適切なエスケープやサニタイズなしにレスポンスへ埋め込み、攻撃者が制御する JavaScript を被害者のブラウザで実行できてしまう脆弱性です。主に、リクエストに含めた値がそのまま反射される「反射型」、コメント等にサーバー側で保存される「保存型」、クライアント側コードに脆弱性がある「DOM 型」の 3 種類に分類されます。攻撃が成功するとセッションの乗っ取り、トークンの窃取、ページの改ざん、マルウェアの配布、SSRF や CSRF との連鎖などが可能となります。対策としては、コンテキストに応じた出力エンコーディング、厳格な Content-Security-Policy、フレームワークのテンプレート、HTTPOnly および SameSite Cookie、入力検証が有効です。
例
- フォーラム投稿に仕込まれた保存型 XSS が、スレッドを閲覧した全ユーザーのセッション Cookie を盗み出す。
- 検索パラメータの反射型 XSS が、攻撃者の用意したリンク経由で任意の JavaScript を実行する。
関連用語
クロスサイトリクエストフォージェリ(CSRF)
認証済みユーザーのブラウザに、脆弱なサイトへ意図しないリクエストを送らせ、本人の同意なく状態変更操作を実行させる Web 攻撃。
Content Security Policy (CSP)
Content Security Policy (CSP) — definition coming soon.
セッションハイジャック
セッション識別子を盗用または偽造して被害者の認証済みセッションを乗っ取り、攻撃者が認証情報なしで本人として振る舞う攻撃。
Input Validation
Input Validation — definition coming soon.
Output Encoding
Output Encoding — definition coming soon.
OWASP Top 10
OWASP Top 10 — definition coming soon.