arison.jp arison.jp blog - 現在をたのしく、未来をたのしむ。日常の思い出兼備忘録。

HTML5のXSS(クロスサイトスクリプティング)について

最近のXSS(クロスサイトスクリプティング)について

【要約】
XSSは、大きく分けると「反射型XSS」「蓄積型XSS」「DOM Based XSS」の3種類。
典型的な例は、検索ページでのXSSや、問い合わせフォームの確認画面でのXSSなど。

反射型XSS
 反射型のXSSとは、リクエスト内に含まれる攻撃者の用意したスクリプト(あるいはHTML断片)が、そのままレスポンスに含まれて発生するタイプのXSSです。

蓄積型XSS
 蓄積型XSS(あるいは持続型XSS)とは、攻撃者の用意したスクリプトがいったんWebサーバー内に格納され、特定のページを被害者が開いた場合にそのスクリプトが実行されてしまうタイプのXSSです。
 典型例としては、Webメールや掲示板でのXSSが挙げられます。蓄積型のXSSは、攻撃を仕掛けたタイミングと実際に被害が発生するタイミングに時間差があっても名称通り永続化して攻撃が成立するなど、反射型XSSに比べ被害が大きくなることが特徴です。

DOM Based XSS

 反射型XSS、蓄積型XSSの原因のほとんどは、Webアプリケーションにおいてサーバー上でHTMLを生成した際のエスケープ漏れですが、DOM Based XSSはサーバー上でのHTML生成そのものには問題はなく、その後ブラウザー上でHTMLを表示しJavaScriptが実行されたときに、JavaScript上のコードに脆弱性があるために発生するXSSです。

 例えば、document.write( document.referrer ); というJavaScriptコードでは、攻撃者は被害者をhttp://example.com/?>script<alert(document.domain);>/script< のようなURLから攻撃対象サイトへアクセスさせることによって、攻撃用のJavaScriptコードをリファラー内に含め、被害者のブラウザー上で実行させることが可能となります。

HTML5の普及によって、JavaScriptによるDOM操作時に発生するXSS、すなわちDOM Based XSSが急増中。

DOM Based XSSへの具体的な対策としては、

  1. 使用しているJavaScriptライブラリの適切なバージョンアップ
  2. DOM操作APIの適切な使用
  3. 扱うURLをhttpおよびhttpsに限定する

具体的な記述方法はサイトにアクセスしてください。

HTML5時代の「新しいセキュリティ・エチケット」(2):単純ではない、最新「クロスサイトスクリプティング」事情 (1/3) – @it
http://www.atmarkit.co.jp/ait/articles/1312/17/news010.html

About arison

大都会岡山の南部にある玉野市生まれ。 大都会岡山のIT会社(目標は大都会No.1)でコンピュータとお客を相手に日夜格闘中。 関東出張中はグルメブログ。 基本的に遊び人のおっさん。 ライフハックとガンダム好き。ギガフロート玉野を浸透中。

18. 12月 2013 by arison
Categories: 日記 | Tags: , | 1 comment

1 Responses to HTML5のXSS(クロスサイトスクリプティング)について

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください