Почему веб-сайты ограничивают количество и выбор символов в пароле?

Почему веб-сайты ограничивают количество и выбор символов в пароле?
Почему веб-сайты ограничивают количество и выбор символов в пароле? - photoripey @ Unsplash

Сейчас я регистрируюсь на сайте страховой компании, и мой пароль состоит из 16 символов, в нем используется большое количество букв, цифр, специальных символов и т.д. Однако вот их список ограничений:

Обратите внимание на свой пароль:

  • должен состоять из 6-12 символов
  • не должны содержать пробелы, специальные/международные символы
  • не должны содержать ваше имя пользователя, имя или фамилию
  • чувствителен к регистру
  • должен содержать как минимум 1 цифру и 1 букву

Я могу понять минимальные 6 символов, запрет на части имени, чувствительность к регистру и необходимость наличия хотя бы одной цифры и буквы. Непонятным для меня является ограничение выбора символов, которые вы можете использовать, и наличие верхней границы.

Почему веб-сайты так поступают? Единственное, что я могу придумать, это то, что они не знают основ хэширования пароля, что защитило бы его лучше, чем что-либо другое, и избавило бы от любых проблем безопасности.

Если я решил ввести DELETE FROM users WHERE 1=1 в качестве пароля, мне должно быть позволено это сделать. MD5-хэш PHP станет fe5d54132b51b7d65ab89b739b600b4b, что, как мне кажется, ничему не повредит.

Это сводится к тому, что их программисты (или их руководство) ленивы и/или необразованны. Не требуется много усилий, чтобы заставить вашу систему принимать любые символы, но это означает, что вам нужно потратить некоторое время на размышления об атаках с помощью SQL-инъекций, межсайтовых сценариях, чтобы убедиться, что все части системы могут справиться с этим. и т. д. Может быть дешевле и быстрее просто запретить любые символы, которые могут быть проблемой.


LetsCodeIt, 23 мая 2023 г., 23:20

Похожие посты

Обеспечение безопасности строки подключения при работе с другими людьмиКак сообщить об уязвимостях программного обеспечения, обнаруженных в библиотеке с открытым исходным кодом, которая широко используется, но имеет ветхую структуру команды?Как сделать так, чтобы безопасность можно было использовать в веб-приложении?Существуют ли законы, защищающие нас от хакеров, которые раскрывают уязвимости до оповещения поставщика?Как вы предотвращаете пиратство вашего программного обеспечения?Любые прямые принципы для написания простого генератора паролейПопытка реализовать решение, похожее на «хранилище паролей», для строк подключенияАлгоритм хэширования для безопасности паролей: решение и проблема повторенияДостаточно ли 'if password == XXXXXXX' для минимальной безопасности?Какой тип механизма сброса пароля/забытого пароля (верификации) вы бы порекомендовали