CSSXSS

来年ものすごく流行りそうな手法が公開された。

これは痛い。

Google Desktop Exposed: Exploiting an Internet Explorer Vulnerability to Phish User Information

関連:

I call this attack CSSXSS or Cascading Style Sheets Cross Site Scripting.

Google Desktop Exposed: Exploiting an Internet Explorer Vulnerability to Phish User Information

うまいこと名前を付けたもんだなぁ……

記事ではGoogle DesktopからHDDの情報を抜けることが問題視されるような書き方になっているが、CSSXSS自体はGDSとは関係がない。

一言で言うと、cssのimport文で任意のWebサイトの情報を抜き出せることを利用した攻撃だ。ログインして利用するWebサイトのHTMLが、ほかのWebサイトで利用できてしまうわけである。

JavaScriptでdocument.styleSheets[0].imports[1].cssTextから、CSSに正規化されていないテキストが取得できてしまう阿呆なブラウザ(Safari、Geckoではこのメソッド自体が存在しないのか、nullしか帰ってこない)に対して有効である。まずいことにWin IEでは、取得したHTMLがHTMLとしてパースされてしまい、getElementByIdなどで情報抜き放題となってしまっている。生のテキスト抜けるようじゃ正規表現でいくらでも情報は抜き取れるからHTMLパース自体も問題ではない。ちなみに、同様のメソッドを持つMac IEは正規化されたCSSしか取得できない。セキュアな動作である。

JavaScriptはAjaxなどを考えると「切っとけ」じゃすまない機能なので頭痛い問題だ。グループウェアやWebメールなどの情報は好き放題に抜かれてしまうことだろう。

この攻撃をまともに食らってしまうWin IEユーザへCSSXSSの攻撃から身を守る手法として提案できるのは「すべてのサービスを利用したらログアウトしてキャッシュは確実に消せ」ということぐらいか。グループウェアなんかだと難しいよな。

ヒマを見てWindwosのIEで実行コードの検証してみようかな。

コメントを残す

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

%d人のブロガーが「いいね」をつけました。