Tarayıcıda bir javascript değişkeninde bir kullanıcının şifresini tutmak, tarayıcı tabanlı bir istemcinin normal güvenlik açıklarını aşan herhangi bir güvenlik açığını ortaya çıkarır mı?Şifre değişkeni javascript değişkeninde - güvenlik sonuçları?
Basit bir örnek olarak bu kod parçasını göz önünde - sadece o kadar açık için saldırı mümkün olduğunca yapmak, şifre değişken geneldir ve sayfanın ömrü boyunca devam Bu örnekte jsfiddle here
<label for="password">Password</label>
<input type="password" id="password"/><br/><br/>
<button type="button" id="pwdButton">Store password in window.password</button>
<script>
function getContentsOfPasswordField() {
return jQuery("input#password").val();
}
jQuery("button#pwdButton").on("click", function() {
window.password = getContentsOfPasswordField();
alert("'" + password + "' stored in global var window.password")
});
</script>
ve en kötü senaryoyu ver. Belki de değişkenin kapsamını/ömrünü sınırlamak, onu belirli saldırı sınıflarından koruyabilir mi?
akla hemen gelen saldırı XSS, ama sonra müşteri ilk etapta XSS'e göre eğer saldırgan böylece değişken doesn içinde tutarak (this bakınız) zaten anahtar giriş yaparak şifreyi okuyabilir' Görebildiğim kadarıyla, XSS saldırılarına karşı savunmasızlığı arttır.
sorunun noktası gerçekten değil unutmayın olsun veya bu, bu bir değişkene şifreyi bırakılması istemci tarafı web uygulaması güvenliği :)
Parola girildikten sonra parola giriş sayfasında "kalmayın". 1. İstemci makinesinde şifre okuma (tarayıcı hafızasını okuyarak) üzerinde diğer yazılımların bulunması, bu, müşterinin tarafında bir problemdir ve her zaman uygulanabilir. 2. Şifreyi okuyan herhangi bir tarayıcı uzantısının imkanı. 3. Aynı sayfa okuma şifresi üzerinde herhangi bir komut dosyası imkanı. –
Ancak bu olası saldırılardan herhangi biri daha olasıdır çünkü şifre bir değişkende tutulur mu? Kötü amaçlı üçüncü taraf yazılımlar javascript VM'ye erişebiliyorsa - şifre girişine girildiğinde sadece keylog veya şifre okuyamaz mı? 'Window' üzerinde ayarlanan – davnicwil
, istemcinin tarayıcısı tarafından uygulandığında dahili güvenlik (örn. Menşei için) engeller. Ayrıca, eğer evinizin penceresini açık bırakırsanız soyulabilirsin, ama bu da kapınızı açık bırakmanız gerektiği anlamına gelmez. –