IE:未パッチなアドレスバー偽装(an old issue)

本日、awacsさんのアンテナで巡回中にふと思い出したのですが、今はクローズしている猫好きサイトに、昔、とあるIEのアドレスバー偽装のProof of Conceptが載っていました。これの偽装の仕方で、画期的だなぁと思ったのは、本物のアドレスバーにニセのアドレスを設定するような(たとえば画像を重ねるとかの)偽装方法を取っていなかった点です。本物のアドレスバーに本物のアドレスを設定してアクセスしてしまうんですね、そしてその直後、そのwindowはユーザの許可なく閉じてしまう。で、全く別のサブウインドウに、その閉じてしまったwindowのメニューバー、ツールバー、アドレスバーのゴーストが蜃気楼のように残るのです。蜃気楼以外の部分で適当に悪意あるコンテンツを置いておくのですがね。早い話がレンダリングミスなんですが、透過してるんです、過去の映像が。

この偽装のすごいところは、メニューバーとかをいろいろカスタム設定変更していても、そのまま偽装windowに蜃気楼として表示されるところですね。無論自動的に多言語対応。イコールばれにくいと。それにあらかじめ偽装画像を用意しないしスクリプトだけで逝っちゃうし、ユーザ環境での本物の見え方を忠実に真似するし。

ここまでせいいっぱい書いてみましたがなんのことやねん、という感じでしょうか。なににしろ、恐ろしいProof of Conceptでした。ちなみにセキュ系のMLには載ったことがないはず。無論Secuniaとかにも載っていません。

しばらく未パッチのはずだったので、私用のアーカイバから探し出して先程試して見ましたが、XPSP2のユーザや、なんらかのポップアップブロッカーを利用しているユーザには無害となっていました。いえ、未パッチには変わりないですが。自動ポップアップを許していても、やっぱりゴーストなりなんなりが未だに透過して表示されるのですが、どういうわけかレンダリングにズレがあって、明らかにバレバレ、偽装の用を足していません。なので安心していいのかもしれません。

と思いつつ、スタイルシートをいじっていたらPoCの透過座標の挙動が変わってきました。まぁかつてのような完璧な偽装には、私の力では出来やしないのですが。でもなぁ。こんなアドレスバー偽装は嫌だ♪スクリプトを含まないスタイルシートに依存しているなんて。(むむ、似たようなのは別の分野で他にもあるかも、リンク先偽装とか『汗』)