我无法用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代码是不是很失败,因为它是一个“跨渊源考”请求?
它还能如何工作?
[OWASP:跨站点请求伪造(CSRF)](https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)) – Andreas
同源策略仅适用于读取数据,而不适用于写它。 –