On Github leonkratz / sop-cors
Von Leon Kratz
Same-Origin Policy.
Cross-Origin Resource Sharing.
Erläuterung
Beispiel (Theorie)
Ziel
Ausblick
Erläuterung
Grundkonzept
Vorteile
Nachteile
Praktisches Beispiel
Quellcode und Implementierung
Wurde als gefährlich und unsicher eingestuft.
Moderne Browser schränken JavaSkript in vielen Punkten ein.
Voraussetzung: Browser beachten bestimmte Sicherheitskonzepte.
Die Same-Origin Policy ist solch ein Sicherheitskonzept.
"Die Grundregel des selben Ursprungs."
Ein Dokument darf auf fremde Dokumente zugreifen.
Wenn der Ursprung gleich ist.
JavaSkript hat nur auf das gebundene Dokument zugriff.
Herkunft: Protokoll, Domain und Port in der URL.
Eingeschränkter Zugriff wenn das Skript auf andere Dokumente zugreift.
Bei der Verwendung von beispielsweiße Frames oder Popup-Fenstern.
Annahme:
In einen Frame wird http://www.example.org/dokument1.html geladen.
In einen anderen Frame das selben Framesets wird folgende Seite geladen:
Beide haben die selbe Ursprungsdomain: ww.example.org
Beide Skripte können auf das jeweils andere zugreifen.
Annahme: Zweite URL: http://example.net/dokument2.html
SOP stoppt den dokumentübergreifenden Zugriff.
example.org und example.net haben nicht den selben Ursprung.
Ein in der Datei http://www.example.com/dir/page.html eingebettetes Skript versucht, auf ein Element in den folgenden Seiten zuzugreifen.
Websites sollen nicht ohne weiters Daten von anderen abgreifen.
Daten sollen nicht ausgespäht werden.
XMLHttpRequest
Cross-Site Scripting
.
Ein Mechanismus der einem Browser Cross-Origin Request ermöglicht.
Wird normalerweiße durch die Same-Origin Policy verhindert.
Kompromiss um mehr Flexibilität zu erhalten.
Bei einer höchst möglichen Sicherheit.
Im Web-Client:
Nutzung verschiedener Web-Applicationen über Domain-Grenzen hinweg auf einer Oberfläche.
Server sendet bestimmte HTTP-Header an Browser.
Der Browser darf eine Ausnahme machen.
Ein Handshaking findet statt.
Die HTTP-Anfrage Options wird ohne Payload gesendet.
Über die Allow-Methode wird dem Request statt gegeben.
Leichtere Implementierung.
Nutzung mehrerer HTTP-Methoden
Alle Header müssen vorhanden sein.
Einige Nachteile beim Internet Explorer.
Anfällig für CSRF-Angriffe. (Gilt auch für SOP)
Versuch: Aufruf der Seite der Finanz Informatik.
Die Same-Origin Policy müsste den Aufruf unterbinden.
Versuch http://www.f-i.de aufzurufen
<p>Your browser does not support iframes.</p> Click meUmgehung der SOP durch CORS.