2011年1月16日日曜日

セキュリティーホール??

FlashのLoaderクラスは、crossdomain.xmlが設置されていなくても、クロスドメインで画像が読み取れます。
まぁ、これはいいでしょう。ただし、このLoaderをBitmapDataに転写したりはできません。
が、実は抜け穴があります。以下をご覧ください。

外部画像をビットマップ化する - wonderfl build flash online


操作できてますね。ここで思ったのが、「外のサイトのHTMLをLoaderInfoのbytesから取得できるのか」です。
Loaderとしては当然画像やSWFではないですからエラーになりますね。しかしbytesが取得出来れば、文字列化してHTMLを解析することができます。
そこで以下を見てください。

ストーキング - wonderfl build flash online


forked from: Twitterのストーキング - wonderfl build flash online


結論からいうと、bytesは0バイトですが、totalBytesは0ではありません。何バイト読めたかがわかります。
つまり、ログインしている場合としていない場合で、HTMLのサイズが大きく違うようなサイトの場合、
ユーザがログインしているかを判断することができてしまいます。

1つの広告で、Mixiを使っている人向けの広告と、使っていない人向けの広告を出し分けるみたいなことができてしまいます。
これってセキュリティホールですよね・・・??

0 件のコメント:

コメントを投稿