|
||
XSS脆弱性があった場合にそのサービスで使っているパスワードを盗むことが可能かどうかについて書く。
があります。前者はIE, Operaで、後者はFirefox, Safari, Google Chromeです。
XSSがあった場合の通常のリスクは「そのドメイン上で任意のJavaScriptが実行可能」で、本人確認のためのパスワード入力を求められたりしたら、攻撃者が知りえない情報をJavaScriptで自動入力することは出来ないので、それ以上のことが出来ない。ただし、出来の悪いパスワードマネージャを使っている+XSSがあるドメイン上でパスワードを入力させている+ユーザーがそのドメイン上でパスワードを保存している、という場合、攻撃者がパスワードを取得して外部に送ったり、パスワードの入力が必要な操作を突破できる可能性がある。不安を煽るのが目的ではないけれど、そういったリスクがあることは、予め知っておいたほうが良いだろう。
IEやOperaのパスワードマネージャの実装のほうが優れているかというと、まあ確かに自動入力しないことによって、XSSや悪意のあるuserscriptやページの内容まるごと送るようなブックマークレットなどに対してパスワードが渡される可能性が減るだろう。ただし、パスワードが自動入力されてからフォームが送信して画面遷移するまでのタイミングで、フォームの内容を読み取ることはできる。
FirefoxのSecure loginというaddonが「XSSでパスワードが盗まれる」という問題について考え、対策を実装している。