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

ウェブサイトの完全 SSL/TLS 化が進んでいる

参考 Google、Chromeで半数以上がHTTPSを利用と発表 | マイナビニュース 2016/11/09 Chrome は Google にどこまでの情報を送っているのでしょうか? そこも気にな …

Web Security

WebサイトのHTTPS(SSL)化には Upgrade-Insecure-Requests を使いましょう

目次はじめに原理方法1方法2方法1の設定方法Apacheでの設定Nginx での設定ブラウザの対応状況参考 はじめに せっかくSSLサーバー証明書をとって、Webサイトを SSL化したのに、コンテンツ …

no image

HTTP ヘッダ・インジェクション by IPA「安全なウェブサイトの作り方 第7版」

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

Webのセキュリティに役立つWebサービス

目次1. 特定のホスト(サーバー)について調査する2. あるウェブページが安全であるかチェックする3. 特定のWebサイトのSSL設定をチェックする4. 短縮URLの元のURLを取得する5. その他 …

ネットワークビギナーのための情報セキュリティハンドブック Ver.2.00 の目次

目次はじめにネットワークビギナーのための情報セキュリティハンドブック Ver.2.00目次プロローグ サイバー攻撃ってなに?第1章 基本のセキュリティ~ステップバイステップでセキュリティを固めよう!~ …