2016-03-21 68 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!很好的答案! –