Welche Sicherheitsrisiken bestehen bei der Einstellung von Access-Control-Allow-Origin?
Ich vor kurzem musste Access-Control-Allow-Origin
zu *
um der Lage sein, um cross-subdomain ajax-Aufrufe.
Jetzt kann ich nicht helfen, aber das Gefühl, dass ich bin, dass meine Umwelt zu Sicherheits-Risiken.
Bitte helfen Sie mir, wenn ich Tue, falsch.
InformationsquelleAutor der Frage Hamed Momeni | 2012-08-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch die Reaktion mit
Access-Control-Allow-Origin: *
die angeforderte Ressource ermöglicht die gemeinsame Nutzung mit jeder Herkunft. Dies bedeutet im Grunde, dass jede Seite senden kann, ein XHR-Anforderung an die site und den Zugriff auf die server-Antwort und das wäre nicht der Fall, wenn Sie noch nicht umgesetzt CORS Antwort.So kann jede Seite eine Anfrage an Ihre Website für Ihre Besucher und verarbeiten Ihre Antwort. Wenn man etwas implementiert, wie eine Authentifizierung oder Autorisierung Schema, das basiert auf etwas, das automatisch durch den browser (cookies, cookie-basierte Sitzungen, etc.), die Anforderungen, ausgelöst durch die Drittanbieter-Websites, die Sie auch nutzen.
Diese Tat stellt ein Sicherheitsrisiko dar, insbesondere, wenn Sie es erlauben, Ressourcen zu teilen und nicht nur für ausgewählte Ressourcen, sondern für jede Ressource. In diesem Zusammenhang sollte man einen Blick auf Wann ist es sicher zu ermöglichen CORS?.
InformationsquelleAutor der Antwort Gumbo
AFAIK, Access-Control-Allow-Origin ist einfach nur ein http-header gesendet, die vom server an den browser. Die Begrenzung auf eine bestimmte Adresse (oder deaktivieren Sie) nicht machen Sie Ihre Website sicherer für, zum Beispiel Roboter. Wenn die Roboter möchten, können Sie einfach ignorieren den header. Die regelmäßige Browser (Explorer, Chrome, etc.) standardmäßig Ehre der Kopfzeile. Aber eine Anwendung wie Briefträger einfach ignoriert.
Server Ende nicht wirklich überprüfen, was der 'Ursprung' ist der Antrag, wenn es zurück die Antwort. Es fügt nur den http-header. Es ist der browser (der client) die Anfrage gesendet, der entscheidet, Lesen Sie die access-control-header und danach zu handeln. Beachten Sie, dass im Fall von XHR kann er über eine spezielle "OPTIONEN" - Anfrage mit der bitte um Kopfzeilen zuerst.
Also, noch jemand mit kreativen scripting-Fähigkeiten einfach ignorieren können die gesamte Kopfzeile, was auch immer eingestellt ist.
Siehe auch Mögliche Fragen der Sicherheit setzen die Access-Control-Allow-Origin.
Nun die Antwort auf die Frage
Wenn jemand will, um Sie anzugreifen, können Sie leicht umgehen die Access-Control-Allow-Origin. Aber durch aktivieren von '*' Sie geben dem Angreifer ein paar mehr " Angriffs-Vektoren zu spielen, wie über die reguläre Web-Browsern, die Ehre, die HTTP-header.
InformationsquelleAutor der Antwort commonpike
Hier sind 2 Beispiele gepostet, als Kommentar, als eine wildcard ist wirklich problematisch:
– Brad
– Brad
Ich das Gefühl, dass diese Kommentare sollten schon Antworten, weil Sie erklären, das problem mit einem reallife Beispiel.
InformationsquelleAutor der Antwort