Я нашел много информации об JavaScript-инъекциях, но не нашел никакой конкретной информации о password
поле.
Для моей тестовой учетной записи GMail мне удалось установить следующий пароль <Script>alert(document.cookie);</script>
, и он работает правильно.
Стоит ли просто кодировать <
и >
в их HTML-эквивалент?
Как обращаться с такими паролями?
Редактировать № 1:
Я храню пароли в БД в виде хэшей (и здесь нет проблем с инъекциями JavaScript).
И я хочу добавить переключатель для видимости пароля.
В этом случае я должен кодировать <
и >
в их HTML-эквивалент, и все?
Редактировать # 2:
Как я понял, этого должно быть достаточно для Password toggle Visibility
, и я могу быть уверен, что он будет работать правильно (это предотвратит инъекции JavaScript).
<!DOCTYPE html>
<html>
<body>
Password: <input type="password" value="<Script>alert(document.cookie);</script>" id="myInput"><br><br>
<input type="checkbox" onclick="showPasswd()">Show Password
<script>
function showPasswd() {
var x = document.getElementById("myInput");
if (x.type === "password") {
x.type = "text";
} else {
x.type = "password";
}
}
</script>
</body>
</html>