Diese Frage bezieht sich auf den Code window.location = window.location
als eine Methode, um die Seite zu aktualisieren, und betrifft nicht Umleitungen/andere Variablen.Ist window.location = window.location anfällig für XSS
Mein Verständnis ist, wie folgt:
window.location = window.location
bewirkt, dass die Seite zu aktualisieren, da der Browser auf die gleiche Stelle navigiert der Benutzer bereits eingeschaltet ist.
Jede Änderung dieser Variablen über DOM-Manipulation führt dazu, dass die Seite die Angreifer-Seite neu lädt/lädt. Daher können diese Zeilen nicht mit einem geänderten Wert ausgeführt werden und sind daher nicht für Cross-Site-Scripting-Angriffe geeignet.
Ist das korrekt?
Edit: Was ich wirklich bin gefragt ist, wenn es einen Weg gibt window.location
zu ändern, ohne dass eine Seite neu geladen verursacht, so dass dann, wenn der window.location = window.location
Anruf getätigt wird, wird der Browser an einen anderen Ort gesendet werden.
Was passiert, wenn jemand die Konsole öffnet und einen beliebigen JavaScript-Code eingibt? Ihre Website ist anfällig, wenn dies der Fall ist. – Gogol
Wenn Sie dies tun 'window.location = window.location' und die Seite neu geladen wird ... dann wird das gleiche wieder passieren ... und Sie werden Endlosschleife eingeben. –
@ Al.G. Ich denke, es ist einigermaßen sicher anzunehmen, dass dies beim Laden der Seite nicht aufgerufen würde. – charlietfl