如果所有浏览器都使用同源策略,CSRF攻击如何工作?

时间:2016-03-21 17:15:10

标签: javascript security csrf same-origin-policy

我无法用CSRF攻击包裹我的一件事是攻击如何引诱我们进入另一个站点,并且仍能够使用我们的会话数据。

我认为如果浏览器指向像#34; trustworthysite.com这样的网站"那么所有请求(表单,ajax,xmlhttprequests等)都必须属于同一个域

例如。

<form action="http://trustworthysite.com/login" method="POST">
    Your name: <input type="text"><br/>
    <input type="hidden" name="amount" value="10000">
    <input type="hidden" name="recipient" value="evil_hacker">
</form>

$.ajax({
    url: "http://trustworthysite.com/post",
    type: "POST",
    data: postData,
    success: function (data) {

    },
    error: function () {

    }
});

但是,如果攻击者引诱使用&#34; malicioussite.com&#34;然后尝试运行上面的Javascript代码并不会失败,因为它是一个&#34; cross-orgin&#34;请求?

它怎么还能运作?

1 个答案:

答案 0 :(得分:4)

同源策略阻止JavaScript从读取来自不同来源的响应。它不会阻止请求(除非在某些有限的情况下)。

CSRF攻击主要是发送恶意指令,而不是窃取数据。