145

どういうわけか、Google+ プラスワン ウィジェットにカーソルを合わせると、<iframe>それが含まれている要素よりも明らかに大きいツールチップ タイプの取引が導入される可能性があります。これを確認するために DOM を調べました。*

iframe 境界

そう:

  1. 何?どのように!?

  2. 悪意を持って使用された場合、これはクリックジャッキングの大きなチャンスではありませんか? (誰かがこれらのソーシャル ウィジェットの MITM を行っていると想像してください!)

*更新: 私が見たのは、tooltip-y メッセージが2 番目に動的に作成されたということでしたiframe

4

2 に答える 2

181

Google +1 ウィジェットは、 を構築している Web サイトで実行される JavaScript ですiframeこの JavaScript ウィジェットは Web サイトのコンテキスト内で実行されるため、iframe のオリジン継承規則による制約を受けません。したがって、この JavaScript ウィジェットは、単純なiframe.

もう 1 つ、なぜ Google はiframe? divページ上で生成しないのはなぜですか? リンクは から発信されているためiframe、CSRF (クロスサイト リクエスト フォージェリ) トークンをリクエストに埋め込むことができ、親サイトはこのトークンを読み取ってリクエストを偽造することはできません。したがって、iframe悪意のある親から自身を保護するためにオリジン継承ルールに依存する CSRF 対策です。

攻撃の観点からは、これは UI-Redress というよりも XSS (クロスサイト スクリプティング) に似ています。あなたは Google にあなたのウェブサイトへのアクセスを許可しています。彼らはあなたのユーザーの Cookie を乗っ取ったり、XmlHttpRequestsあなたのウェブサイトに対して実行したりする可能性があります (しかし、そうすると、人々は悪意があり裕福であるとして彼らを訴えるでしょう)。

この状況では、Google を信頼する必要がありますが、Google はあなたを信頼していません。

これらの Web バグによるプライバシーへの影響を軽減する方法があります

于 2011-09-05T23:03:02.273 に答える
3

Google は iFrame を使用して、「漏れやすい標準 DIV」を防ぎます。彼らのクロージャライブラリダイアログは同じことをします。おそらく、他のコンテンツが +1 ボタンに流れ込まないようにするためです。 http://closure-library.googlecode.com/svn/trunk/closure/goog/demos/dialog.html .

于 2011-09-06T10:28:47.550 に答える