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

メールアドレスが公開されることはありません。

関連記事

セキュリティ

GnuPGでファイルを暗号化・復号する手順

USBメモリにデータを入れて持ち運ぶ場合、なんの対策もしていないと「USBメモリの紛失」がそのまま「データ流出」につながります。これを防ぐ1つ方法は、予めファイルを暗号化した状態で保存しておくことです …

no image

クリックジャッキング by IPA「安全なウェブサイトの作り方 第7版」

安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構の、「クリックジャッキング」から一部抜粋する。(この資料はPDFでしか提供されていない) 目次注意が必要なウェブサイトの特徴根本的解決 …

ICTリテラシー

紛らわしいパスワードを生成しない工夫

紛らわしいパスワードを生成しない工夫について書いています。

no image

セッション管理の不備 by IPA「安全なウェブサイトの作り方 第7版」

安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構の、「セッション管理の不備」から一部抜粋する。(この資料はPDFでしか提供されていない) 目次セッションIDの推測セッションIDの盗用 …

no image

ウェブサイトの安全性向上のための取り組み – パスワードに関する対策 by IPA「安全なウェブサイトの作り方 第7版」

ウェブサイトの安全性向上のための取り組み – パスワードに関する対策 by IPA「安全なウェブサイトの作り方 第7版」 パスワードに関する対策 初期パスワードは、推測が困難な文字列で発行 …