漢は黙ってXSSフィルタ
2010年2月18日(木曜日)
漢は黙ってXSSフィルタ
公開: 2010年2月28日1時10分頃
とあるサイトでXSS脆弱性らしきものを発見。いつもはこんな感じの3段階で脆弱性を確認しています。
- 「"><s>test」を入れて打ち消し線が出ることを確認する
- 「"><script>alert(document.cookie)</script>」を入れてみる。IE8ではXSSフィルタで蹴られるが、ソース上に<script>が出ていることを確認する (「<script>」という文字列だけ消す、というような処理があるかどうか確認するため)
- 実際にスクリプトが動作することを確認
最後に実際にスクリプトの動作を確認するわけですが、IE8ではXSSフィルタを無効にしなければならず、それが非常に面倒くさいです。Firefoxの場合、NoScriptを入れているとやっぱりXSSフィルタが効いてしまいます。というわけで、XSSフィルタのないGoogle Chromeを使うのが便利です。
……と思っていたわけですが、なぜか今日、Google Chromeで確認するとスクリプトが動作しないという現象に遭遇。ソースを見ると、そもそも「<script>」がインジェクションできていないように見えます。
何が起きたのか分からずに戸惑いましたが、実はGoogle Chrome 4からはXSSフィルタが搭載されていたのですね。
クロスサイトスクリプティング(XSS)の脆弱性を突いた攻撃が横行している現状に対しては、実験的機能として「リフレクティブXSSフィルタ」を実装した。同様の機能はIE 8とNoScriptでも提供しているが、Chromeの場合はレンダリングエンジンのWebKitにXSSフィルタを実装して攻撃検出力を高め、SafariやEpiphanyなどのWebKitを使ったブラウザでも同フィルタを利用できるようにしたとしている。
いやまあ、XSSフィルタを搭載するのは良いのですが、動作したら動作したと分かるようにして欲しいです。誤検出の場合にリカバーする手段もないようですが、問題ないのでしょうか。
- 「漢は黙ってXSSフィルタ」へのコメント (3件)
関連する話題: セキュリティ / UA / Google Chrome
- 前(古い): WAF読本
- 次(新しい): パスワード変更推奨キャンペーン