WebサーバでのCrossSite Scriptingのセキュリティホールについて (2002年6月14日)
本情報は、該当製品におけるセキュリティ上の問題について、広報日までに、コンピュータ緊急対応センター「CERT/CC」に報告されたものもしくは、弊社独自の調査により検出されたものに基づき、情報を提供するものです。
また、該当製品には他社が開発した製品が含まれている場合もあり、その製品については、他社から提供された情報をそのまま掲載している場合があります。
本ドキュメントに関して、弊社は、本情報の正確性、完全性あるいは特定目的への適合性について何ら保証するものではなく、本情報に従い対応を行った(あるいは行わなかった)ことによりお客様に生じた損害について一切の責任を負いかねます。
お客様には、常に最新の情報をご確認いただきますようお願い申し上げます。
本セキュリティ広報を再配布する際には、全文を転載すること。
CrossSite Scriptingのセキュリティホールを悪用されると、有名なWebサーバが悪意のあるWebサーバになってしまうという脅威です。
Webサーバにおいて、ユーザから入力された文字列の中にある「<」や「&」などの特殊文字の処理を行なわなかった場合に、以下の問題が発生します。
Tomcatでの例
- ユーザが以下のURLにアクセスする。
http://Tomcat/jsp-mapped-dir/<SCRIPT>alert(document.cookie)</SCRIPT>.jsp - エラーメッセージが帰る。この時、1.で示したURLがエラーメッセージの一部としてブラウザに送られる。
- その時に、「<SCRIPT>alert(document.cookie)</SCRIPT>」でかこまれた文字列が帰り、ユーザのブラウザではこの部分をスクリプトの実行と解釈し、JavaScript他のスクリプトが動作してしまう。
《攻撃パターン》
有名サイトを以下のように「踏み台」として利用する事を可能とするセキュリティホールです。
有名サイトからのJavaスクリプトは実行可とし、他のサイトからのJavaスクリプトは実行不可として設定しても、以下のように有名サイトを経由させる事により悪者が自分のJavaスクリプトを有名サイトからのJavaスクリプトに見せかける事を可能としてしまいます。
- ユーザが悪意のあるWebサイトにアクセスする。
- 悪意のあるWebサイトは、そのアクセスをCSSホールのある悪意のない有名Webサイトに、悪意のあるスクリプトと一緒に回送する。
- CSSホールのある悪意のない有名Webサイトは、スクリプトの入っている文字列をエコー文字列として最初のユーザのクライアントに送る。
- スクリプトがユーザのクライアントPCで実行される。(悪意のあるスクリプトを悪意のない有名Webサイトからのスクリプトのように見せかける。しかもクライアントPCのブラウザの信用度は悪意のないWebサイトの信用度になる。)
製品自体がWebアプリケーションとして動作し、CSSホールがある場合以外に、製品と共に提供しているWebアプリのサンプルにCSSホールがあると、そのサンプルを流用した顧客のサーバにCSSホールを発生させる危険性があります。
《対策》
Webアプリケーションを作成する際、受信した文字列内で以下の特殊文字はそのまま返すのではなく、変更するようにして下さい。
特殊文字 | 変更後の文字 | 説明 |
---|---|---|
< | 右大不等号 | |
> | 左大不等号 | |
& | アンドマーク,アンパサンド | |
" | ダブルクォート,引用符 |
《当社製品への影響》
当社のインターネット対応製品では、以下の製品でパッチ情報を提供しております。
- TeamWARE Office Webサービス(2001年9月7日)
- INTERSTAGE Cross-Site Scripting問題に関するINTERSTAGEの対応(2001年11月30日)
- Security Director / Traffic Director / InfoProxy: Cross-Site Scripting問題(2002年6月14日)
《セキュリティ情報のURL》
- Webサイトにおけるクロスサイト スクリプティング脆弱性に関する情報(IPA)
http://www.ipa.go.jp/security/ciadr/20011023css.html - CA-2000-02 Malicious HTML Tags Embedded in Client Web Requests(CERT/CC)
http://www.cert.org/advisories/CA-2000-02.html
《改版履歴》
- 2002年6月14日 Security Director / Traffic Director / InfoProxy: Cross-Site Scripting問題 追加
- 2001年11月30日 INTERSTAGE Cross-Site Scripting問題に関するINTERSTAGEの対応 追加
- 2001年11月9日 新規掲載