Security

クロスサイト・スクリプティング対策 by IPA「安全なウェブサイトの作り方 第7版」

投稿日:2015年4月16日 更新日:

26393978455_30d3555bca_b

photo credit: XSS attack on YouTube via photopin (license)

安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構の、「クロスサイト・スクリプティング」から一部抜粋する。(この資料はPDFでしか提供されていない)

注意が必要なウェブサイトの特徴

運営主体やウェブサイトの性質を問わず、あらゆるサイトにおいて注意が必要な問題です。Cookie を利用してログインのセッション管理を行っているサイトや、フィッシング詐欺の攻撃ターゲットになりやすいページ(ログイン画面、個人情報の入力画面等)を持つサイトは、特に注意が必要です。

  • この脆弱性が生じやすいページの機能例
    • 入力内容を確認させる表示画面(会員登録、アンケート等)
    • 誤入力時の再入力を要求する画面で、前の入力内容を表示するとき ・ 検索結果の表示
    • エラー表示
    • コメントの反映(ブログ、掲示板等) 等

1) HTML テキストの入力を許可しない場合の対策

根本的解決

  • (i) ウェブページに出力する全ての要素に対して、エスケープ処理を施す。
  • (ii) URL を出力するときは、「http://」や 「https://」で始まる URL のみを許可する。
  • (iii) <script>…</script> 要素の内容を動的に生成しない。
  • (iv) スタイルシートを任意のサイトから取り込めるようにしない。

保険的対策

  • (v) 入力値の内容チェックを行う。

2) HTML テキストの入力を許可する場合の対策

根本的解決

  • (vi) 入力された HTML テキストから構文解析木を作成し、スクリプトを含まない必要な要素のみを抽出する

保険的対策

  • (vii) 入力されたHTMLテキストから、スクリプトに該当する文字列を排除する。

3) 全てのウェブアプリケーションに共通の対策

根本的解決

  • (viii) HTTP レスポンスヘッダの Content-Type フィールドに文字コード(charset)を 指定する。

保険的対策

  • (ix) Cookie情報の漏えい対策として、発行するCookieにHttpOnly属性を加え、 TRACE メソッドを無効化する。
  • (x) クロスサイト・スクリプティングの潜在的な脆弱性対策として有効なブラウザの機能を有効にするレスポンスヘッダを返す。
    • X-XSS-Protection
    • Content Security Policy

関連するCWE

参考URL

📂-Security
-

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

セキュリティに関連するリンク集

情報は随時追加します。 目次毎日チェックするとよいウェブページ一般Webアプリケーション関連WordPress関連インシデント 毎日チェックするとよいウェブページ IPA 独立行政法人 情報処理推進機 …

セキュリティ

アプリケーションをインストールする際は、事前に実行ファイルのウイルスチェックを行っておきましょう

目次1. はじめに2. VirusTotal とは?3. VirusTotal(日本語ページ)を使う手順4. VirusTotal(英語ページ)を使う手順5. おわりに 1. はじめに 以下の状況にお …

amazon

Amazon.co.jp の2段階認証で、スマートフォンを紛失した場合に備える

目次1. はじめに2. バックアップコードの機能がない3. スマートフォン紛失時のログイン手段として「コードが要求されない端末」を利用する4. 現時点でのまとめ 1. はじめに Amazon.co.j …

Web

PKCS #12 形式の証明書ファイルに対するコマンド操作

PKCS #12 形式の証明書ファイルに対するコマンド操作について説明します。

Web Security

XSS Auditor が有効になっているかチェックするためのページを作りました

目次1. XSS とは?2. XSS を防ぐためのブラウザの機能「XSS Auditor」3. Webブラウザの XSS Auditor 機能が有効かどうか調べる4. 参考 1. XSS とは? XS …