3

Same Origin Policy (SOP) は、クロス サイト スクリプティング (XSS) と一緒に言及されることがよくあります。しかし、SOP が存在する世界では、XSS がまだ時々発生するようです。では、Same Origin Policy が正確にどのような種類の攻撃を防いでいるのか、私にはよくわかりません。言い換えれば、SOP のない世界を想像してみてください。悪意のある攻撃者は、SOP のある現実の世界と比べて、他にどのような力を得ることができるでしょうか?

この Web サイト (http://security.stackexchange.com/questions/8264/why-is-the-same-origin-policy-so-important) で、「Facebook にログインしていると仮定して、悪意のある Web サイトにアクセスするとします。別のブラウザー タブ.同じオリジン ポリシーがなければ、その Web サイトの JavaScript は、あなたが許可されていることを Facebook アカウントに対して何でも行うことができます.". 同じドメインからでも、あるタブで他のタブを操作する Web ページのメカニズムについて聞いたことがないため、これは実際に私をさらに混乱させます。ここ (http://javascript.info/tutorial/same-origin-security-policy) では、SOP が 1 つのウィンドウ内のスクリプトが別のウィンドウ内の DOM 要素を操作するのを防ぐことも (より明示的に) 言及されています。しかし、私は実際に例を説明されているものに関連付けることはできません (ここでウィンドウはどういう意味ですか?例は iframe について話しているようです)。

要約すると、SOP がなかった場合に何が起こるかについて、具体例を挙げてくれる人はいますか?

また、2 つのウィンドウが同じドメインにあると仮定して、あるウィンドウのスクリプトが別のウィンドウの DOM 要素を操作する方法についても興味があります。しかし、これはこの質問の主なコースではありません

ありがとうございました!

4

2 に答える 2

2

1つのタブで他のタブを操作するWebページのメカニズムについて聞いたことがありません[...]例はiframeについて話しているようです

iframeクロスウィンドウスクリプトを取得する最も簡単な方法ですが、唯一の方法ではありません。これを行う別の方法は、攻撃者のページからwindow.openドキュメントをfacebook.com新しいタブに移動することです。openタブのオブジェクトへのハンドルを返すため、あるタブのwindowスクリプトが別のタブのコンテンツと対話することができます。

SOPがない場合、そのスクリプトは、ユーザーに代わってそのタブにフォームを入力して送信する可能性があります。

XSSはまだ時々起こります。だから私は、同一生成元ポリシーが正確にどのような種類の攻撃を防ぐのかはっきりしていませんか?

SOPがないと、すべてのWebページがXSSに対して脆弱になり、誰も安全になりません。

SOPを使用すると、作成者が間違えない限り、WebページはXSSに対して安全です。残念ながら、サイトの作成者は間違いを犯すため、XSSは依然として時々発生します。

于 2012-08-16T09:05:45.673 に答える
0

1 つの例: 悪意のある Web ページの場合、ユーザーが既にユーザーのコンテキストにログインしている他の Web ページに対して、いくつかの JavaScript ajax 要求を行うことができます。この別のページでは、要求が許可されたユーザーからのものであると想定されます。たとえば、悪意のあるスクリプトは、Facebook に ajax 呼び出しを行って新しいステータスを投稿したり、ユーザーが Facebook または銀行にログインしている場合にのみ銀行取引サービスに送金したりできます。通常、ブラウザのタブで多くのページを同時に開いているため、悪意のある Web ページを閲覧している人物が、機密性の高いサービスに同時にログインし、そのような方法でハッキングされる可能性が非常に高くなります。

于 2012-08-16T06:52:51.910 に答える