Passwort in JavaScript-Variable beibehalten - Auswirkungen auf die Sicherheit?

8

Werden durch das Speichern eines Benutzerpasswortes in einer JavaScript-Variablen im Browser bestimmte Sicherheitslücken über die üblichen Sicherheitsschwachstellen eines browserbasierten Clients hinaus aufgedeckt?

Betrachten Sie dieses Snippet als einfaches Beispiel - jsfiddle hier

%Vor%

In diesem Beispiel ist die Passwortvariable global und bleibt für die Lebensdauer der Seite bestehen, um sie so einfach wie möglich zu machen und das Worst-Case-Szenario zu liefern. Vielleicht kann der Umfang / die Lebensdauer der Variablen eingeschränkt werden, um sie vor bestimmten Angriffsklassen zu schützen?

Der Angriff, der sofort in den Sinn kommt, ist XSS, aber wenn der Client an erster Stelle anfällig für XSS ist, kann der Angreifer das Passwort trotzdem durch die Schlüsselprotokollierung lesen (siehe dies ), wenn ich es also in einer Variablen halte, erhöht das nicht die Anfälligkeit für XSS Angriffe.

Bitte beachten Sie, der Punkt der Frage ist nicht wirklich, ob dies eine schlechte Übung ist oder nicht, das ist eher eine fundamentale Frage bezüglich der clientseitigen Web-App-Sicherheit:)

    
davnicwil 09.08.2013, 18:50
quelle

1 Antwort

1

Wenn Sie das Passwort in einer Variablen belassen, können Sie es einfach in den Browser-Tools aufrufen! Nehmen wir an, die Funktion, die aufgerufen wird, wenn die Taste zum Speichern des Passworts gedrückt wird, speichert das Passwort in einer Variablen namens password. Selbst wenn diese Variable danach überhaupt nicht mehr auf der Seite verwendet wird, sondern später irgendwo im Code behandelt wird, müssen Sie lediglich die Entwicklerwerkzeuge in ihrem Browser öffnen und eine Anweisung wie alert(password); und Bam hinzufügen erscheint das Passwort buchstäblich vor ihnen.

Zugegebenermaßen ist jeder Code, der einfach genug ist, um jemanden laufen zu lassen, wahrscheinlich unwürdig, im Internet zu sein, und noch weniger wert, mit ihm in Berührung zu kommen, aber ich denke, es ist eine Lektion dafür, wie vulnerabel wir wirklich sind.

    
user2375017 10.08.2013 00:04
quelle