TOP
>
システムトレンド
> クロスサイト・スクリプティング
安全なWebサイトの作成ガイド
第2回:OSコマンド・インジェクションとクロスサイト・スクリプティング
著者:
独立行政法人 情報処理推進機構セキュリティセンター
2006/2/16
前のページ
1
2
3
4
次のページ
クロスサイト・スクリプティング
Webアプリケーションの中には、検索のキーワードや個人情報登録時の確認画面、掲示板、Webのログ統計画面など、利用者からの入力内容やHTTPヘッダの情報を処理し、Webページとして出力するものがあります。
ここで、Webページへの出力処理に問題がある場合、そのWebページにスクリプトを混入されてしまう恐れがあります。この問題を悪用した攻撃手法の1つに、「クロスサイト・スクリプティング」があります。クロスサイト・スクリプティングの影響は、Webサイト自身にではなく、そのWebサイトのページを閲覧している利用者におよびます。
Webアプリケーションにスクリプトを混入可能な脆弱性がある場合、これを悪用した攻撃により、利用者のブラウザ上で不正なスクリプトが実行されてしまう可能性があります。
図2:クロスサイト・スクリプティング
クロスサイト・スクリプティングへの対策を、Webアプリケーションの仕様に合わせて示します。まず、Webアプリケーションの仕様として、「HTMLテキストの入力を許可するかどうか」を確認してください。
例えば、掲示板やブログのようなWebサイトでは、利用者が入力文字の色やサイズを変更したり、画像を挿入したりできる機能を実装するために、HTMLテキストの入力を許可する場合があるかもしれません。
一方、検索サイトや個人情報の登録フォームのようなWebページでは、多くの場合、HTMLテキストの入力を許可する必要はありません。Webアプリケーションの仕様に合わせ、次の内容をご検討ください。
HTMLテキストの入力を許可しない場合
まずは「HTMLテキストの入力を許可しない場合」について解説します。
根本的解決
根本的解決には表1にあげた4つがあります。
Webページに出力するすべての要素に対して、エスケープ処理を施す
URLを出力するときは、「http://」や「https://」ではじまるURLのみを許可するようにする
<script>・・・</script>要素の内容を動的に生成しないようにする
スタイルシートを外部サイトから取り込めるようにしない
表1:根本的解決
それではそれぞれについて解説していきます。
前のページ
1
2
3
4
次のページ
安全なウェブサイトの作り方 - ウェブアプリケーションのセキュリティ実装とウェブサイトの安全性向上のための取り組み
2006年1月31日にIPAは、ウェブサイト運営者がウェブサイト上で発生しうる問題に対して、適切な対策ができるようにするため、「安全なウェブサイトの作り方」を取りまとめ公開いたしました。
本記事は、その報告書の転載です。詳しい内容に関しましては、以下のURLをご参照ください。
安全なウェブサイトの作り方
http://www.ipa.go.jp/security/vuln/documents/2005/website_security.pdf
脆弱性関連情報に関する届出について
http://www.ipa.go.jp/security/vuln/report/index.html
IPA(独立行政法人情報処理推進機構)
http://www.ipa.go.jp/index.html
IPA/ISEC(独立行政法人情報処理推進機構セキュリティセンター)
http://www.ipa.go.jp/security/index.html
著者プロフィール
独立行政法人 情報処理推進機構セキュリティセンター
情報処理推進機構セキュリティセンター(IPA/ISEC)は、わが国において情報セキュリティ対策の必要性・重要性についての認識を啓発・向上し、具体的な対策実践情報・対策手段を提供するとともに、セキュアな情報インフラストラクチャ整備に貢献することをミッションとしています。
INDEX
第2回:OSコマンド・インジェクションとクロスサイト・スクリプティング
OSコマンド・インジェクション
クロスサイト・スクリプティング
Webページに出力するすべての要素に対して、エスケープ処理を施す
HTMLテキストの入力を許可する場合