web-dev-qa-db-ja.com

IframesとJavascriptを使用して別のドメインのCookieにアクセスする

X-Frame-Options[〜#〜] sameorigin [〜#〜]に設定されていなければ、Iframeを使用して別のドメインのWebページを埋め込むことができます。これにより、iframe内にCookieも読み込まれます。
これで、iframeボックス内にdocument.cookieを使用してこのCookieにアクセスできます。これを自分にメールで送信する(iframeタグ内にスクリプトを記述する)ことでこのCookieを送信できるかどうかを確認したいと思いました。

私の意見:
これは、ウェブページのiframeタグ内にscriptタグを記述できる場合に可能です。しかし、私の場合はうまくいかないようです。

scriptiframe内に動的に挿入することもできます。それが可能かどうか知りたかった。

読み込まれたiframeによってiframeタグ内のすべてのコンテンツが上書きされ、スクリプトタグが機能しない可能性があるため、機能しない可能性があります。
これが当てはまる場合、なぜiframe終了タグが存在するのですか。それだけではいけません:iframe src = "https://abc.def.com"タグでiframeを定義しますか?

2
aka_007

同一生成元ポリシーは、異なる生成元のページのコンテンツを読み取ったり変更したりできないようにします。 iframeの場合、これは、親フレームがiframeを完全に置き換えることができる(つまり、Originを変更する)ことを意味しますが、iframeのコンテンツを読み取ったり変更したりすることはできません。

したがって、iframeからCookieのクロスオリジンを読み取ることは、iframeのコンテンツが明示的に親フレームと(postMessageのように)通信してCookie値を共有する場合にのみ機能します。通常、これは無関係なオリジンの場合には当てはまりませんが、iframesオリジンでXSS攻撃を見つけた場合、iframeをだましてこのcookieを親フレームに送信させることができる場合があります。

X-Frame-Optionsは同じOriginポリシーとは関係がないことに注意してください。サイトをiframeに配置できるかどうかを定義するためにのみ使用されます。これは Clickjacking またはその他のUI-Redressing攻撃から防御するために重要です。

4
Steffen Ullrich