2016-03-21 126 views
0

我无法用CSRF攻击包围我的一件事是,攻击可以引诱我们到不同的站点,并仍然能够使用我们的会话数据。如果所有浏览器使用同源策略,CSRF攻击如何工作?

我认为,如果浏览器指向到一个网站,如“trustworthysite.com”,那么所有的请求(形式,AJAX,XMLHttpRequest的,等等)必须是同一个域

如。

<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() { 

    } 
}); 

但如果攻击者引诱用途“malicioussite.com”,然后试图运行上面的Javascript代码是不是很失败,因为它是一个“跨渊源考”请求?

它还能如何工作?

+0

[OWASP:跨站点请求伪造(CSRF)](https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)) – Andreas

+0

同源策略仅适用于读取数据,而不适用于写它。 –

回答

4

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

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

+0

Thx!很好的答案! –

相关问题