Same-Origin Policy – and – Cross-Origin Resource Sharing



Same-Origin Policy – and – Cross-Origin Resource Sharing

0 0


sop-cors

Präsentation_Web-programmierung

On Github leonkratz / sop-cors

Same-Origin Policy

and

Cross-Origin Resource Sharing

Von Leon Kratz

Agenda

Same-Origin Policy.

Cross-Origin Resource Sharing.

Same-Origin Policy

Erläuterung

Beispiel (Theorie)

Ziel

Ausblick

Cross-Origin Resource Sharing

Erläuterung

Grundkonzept

Vorteile

Nachteile

Same-Origin Policy

Praktisches Beispiel

Quellcode und Implementierung

Einleitung anhand JavaSkript

Wurde als gefährlich und unsicher eingestuft.

Moderne Browser schränken JavaSkript in vielen Punkten ein.

Voraussetzung: Browser beachten bestimmte Sicherheitskonzepte.

Same-Origin Policy - Erläuterung

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.

Same-Origin Policy - Beispiel

Annahme:

In einen Frame wird http://www.example.org/dokument1.html geladen.

In einen anderen Frame das selben Framesets wird folgende Seite geladen:

http://www.example.org/dokument2.html

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.

Same-Origin Policy - Ziel

Websites sollen nicht ohne weiters Daten von anderen abgreifen.

Daten sollen nicht ausgespäht werden.

Same-Origin-Policy - Ausblick

XMLHttpRequest

Cross-Site Scripting

Cross-Origin Resource Sharing

Cross-Origin Resource Sharing - Erläuterung

.

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.

Cross-Origin Policy Sharing - Grundkonzept

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.

Cross-Origin Resource Sharing - Vorteile

Leichtere Implementierung.

Nutzung mehrerer HTTP-Methoden

Cross-Origin Resource Sharing - Nachteile

Alle Header müssen vorhanden sein.

Einige Nachteile beim Internet Explorer.

Anfällig für CSRF-Angriffe. (Gilt auch für SOP)

Same-Origin-Policy - praktisches Beispiel

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 me

Umgehung der SOP durch CORS.

<p>Your browser does not support iframes.</p> Click me

THE END

- Try the online editor - Source code & documentation

Same-Origin Policy and Cross-Origin Resource Sharing Von Leon Kratz