Eine Sache, die ich nicht mit CSRF-Attacken umgehen kann, ist, wie ein Angriff uns zu einer anderen Seite locken und trotzdem unsere Sitzungsdaten nutzen kann.Wie funktionieren CSRF-Angriffe, wenn alle Browser die Same-Origin-Richtlinie verwenden?
Ich dachte, wenn der Browser auf eine Website wie „trustworthysite.com“ gezeigt wird, dann werden alle Anforderungen (Formulare, Ajax, XMLHttpRequests, usw.) zur gleichen Domäne
zB sein müsste.
<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>
oder
$.ajax({
url: "http://trustworthysite.com/post",
type: "POST",
data: postData,
success: function (data) {
},
error: function() {
}
});
Aber wenn der Angreifer den Einsatz auf „malicioussite.com“ gelockt und dann versucht, den Javascript-Code ausgeführt oben würde es nicht scheitern, weil es sich um eine „cross-orgin“ ist anfordern?
Wie könnte es immer noch funktionieren?
[OWASP: Cross-Site Request Forgery (CSRF)] (https://www.owasp.org/index.php/Cross-Site_Request_Forgery_ (CSRF)) – Andreas
Die Same-Origin-Richtlinie gilt nur für das Lesen von Daten, nicht es schreiben. –