XSSCross-Site Scripting
XSS (Cross-Site Scripting) は、悪意あるスクリプトをWebページに埋め込み他ユーザーのブラウザで実行させる攻撃で、Reflected・Stored・DOM-based の3類型があります。
詳細解説
XSS は、攻撃者がユーザー入力を受けるフォームやURLパラメータに JavaScript を仕込み、サーバーがエスケープせずに出力すると、被害者ブラウザでスクリプトが実行されてセッションCookie盗用・偽フォーム表示・キーロガー等を引き起こす攻撃です。Reflected XSS (URLパラメータが即時反射) / Stored XSS (DBに保存され閲覧時に発火) / DOM-based XSS (クライアントJSが innerHTML 等で展開) の3類型があります。対策はOWASPに従い (1) 出力時に文脈別エスケープ (HTML/属性/JS/CSS/URL) (2) CSP で 'unsafe-inline' を禁止しnonce運用 (3) HttpOnly Cookie (4) DOMPurify 等のサニタイザ (5) フレームワーク (React/Vue) のエスケープを信頼 が王道です。OWASP Top 10 でも常連の脅威です。
実装例 / 使い方
- 01<script>alert(1)</script> を検索フォームに入力 → Reflected XSS
- 02React で dangerouslySetInnerHTML を避け自動エスケープに依存
- 03DOMPurify.sanitize(userHtml) で危険タグを除去
関連する用語
CSP
Content Security PolicyCSP (Content Security Policy) は、ブラウザに読み込み許可するスクリプト・スタイル・画像等の出所をホワイトリストで指定するセキュリテ...
CSRF
Cross-Site Request ForgeryCSRF (Cross-Site Request Forgery) は、ログイン中のユーザーのCookieを悪用し意図しない操作を実行させる攻撃で、対策にはCS...
OWASP Top 10
Open Web Application Security Project Top 10OWASP Top 10 は、Webアプリケーションの最重要セキュリティリスクを4年ごとに集計するOWASPの代表的ドキュメントで、業界標準のチェックリストとし...
SQL インジェクション
SQL Injection / SQLiSQL インジェクションは、ユーザー入力をSQL文字列に連結することでデータベースに不正なクエリを実行させる攻撃で、対策はプリペアドステートメント (パラメータ...
XSSを、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
