ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

PHP: Хэширование паролей
  #1  
Старый 29.10.2009, 20:37
dimash
Познающий
Регистрация: 14.04.2008
Сообщений: 78
Провел на форуме:
41875

Репутация: 4
Post PHP: Хэширование паролей

Наткнулся на статью. Хэширование паролей, совет
Цитата:
Ответ очевиден - перед хэширование мы создаем случайную строку определенной длинны, соль, и присоединяем ее к паролю. Этим мы убиваем сразу двух зайцев - взломщику не будут видны одинаковые пароли и мы улучшим стойкость к перебору за счет увеличения длинны. Естественно, соль придется хранить в базе, однако это самое меньшее зло, несколько лишних символов в базе проблемы не решат.
Не понимаю суть. Если угадают через форму, совет не сыграет роли. Это действительно может помочь, если базу нелегально сольют?
 
Ответить с цитированием

  #2  
Старый 29.10.2009, 22:36
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме:
4778940

Репутация: 1257


Отправить сообщение для mr.The с помощью ICQ
По умолчанию

Да, паролей не будет в словарях и прийдётся брутить с нуля. Но если пароли вида 123456 то их всё-равно подберут.
А вообще, советую почитать:http://mrthe.name/2009/08/kak-hranit...-polzovatelej/
 
Ответить с цитированием

  #3  
Старый 29.10.2009, 22:53
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Если сольют базу вместе с солью, то смысл этой самой соли, только в замедлении скорости брута на большом списке хэшей и всё. Достаточно только знать как эта соль присоединяется к паролю (можно просто методом тыка пробовать, если изначально неизвестно как).
 
Ответить с цитированием

  #4  
Старый 30.10.2009, 08:06
@D_
Новичок
Регистрация: 29.07.2009
Сообщений: 17
Провел на форуме:
44699

Репутация: 4
По умолчанию

соль нужна для сокрытия пароля. Даже если он в md5, вероятность коллизии или подбора по базе md5 хешей отпадает. Соответственно, получив базу или вытянув куки, удаленный взломщик не сможет восстановить пароль пользователя из подобного хеша.
Несомненно, это не защищает от банального брута пасса через форму, однако защищает от восстановления пароля при получении кук или бд. Хотя если соли лежит в той же базе, все старания напрасны.
Лично я для своих проектов храню солю в конфигах, не в базе. Пусть она одна и одинаковые пассы можно найти через базу, зато первичную соль не узнать, получив доступ только к базе.
 
Ответить с цитированием

  #5  
Старый 30.10.2009, 10:18
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

Репутация: 399
По умолчанию

Опять-же использование нестандартного алгоритма присоединения соли заставит взломавшего искать или писать самому модуль для брута...
чтонить типа Md5(md5(salt).salt.md5(pass)) да и скорость брута никогда не сравнится со скоростью брута простого MD5.

@D_ существуют способы узнать соль если известен алгоритм хеширования.
Т.е. если мы зарегены, мы знаем свой пасс если ещё знаем и алгоритм, то просто если изначальный алгоритм md5(salt.pass), то использую md5(pass.salt) и подставив вместо соли наш пасс, мы тупо брутим соль.

А вот зная соль и зная что она одинаковая во всех хешах, мы можем брутить пасс со скоростью простого MD5.
 
Ответить с цитированием

  #6  
Старый 30.10.2009, 15:28
@D_
Новичок
Регистрация: 29.07.2009
Сообщений: 17
Провел на форуме:
44699

Репутация: 4
По умолчанию

Цитата:
Сообщение от Gray_Wolf  
Опять-же использование нестандартного алгоритма присоединения соли заставит взломавшего искать или писать самому модуль для брута...
чтонить типа Md5(md5(salt).salt.md5(pass)) да и скорость брута никогда не сравнится со скоростью брута простого MD5.

@D_ существуют способы узнать соль если известен алгоритм хеширования.
Т.е. если мы зарегены, мы знаем свой пасс если ещё знаем и алгоритм, то просто если изначальный алгоритм md5(salt.pass), то использую md5(pass.salt) и подставив вместо соли наш пасс, мы тупо брутим соль.

А вот зная соль и зная что она одинаковая во всех хешах, мы можем брутить пасс со скоростью простого MD5.
несомненно, однако мы забываем, что соль для кук и для базы может быть разной =) Да и потом, чтобы брутить хеш, нужно всё таки получить доступ к базе.
 
Ответить с цитированием

  #7  
Старый 30.10.2009, 15:56
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

Репутация: 399
По умолчанию

Цитата:
Сообщение от @D_  
несомненно, однако мы забываем, что соль для кук и для базы может быть разной =) Да и потом, чтобы брутить хеш, нужно всё таки получить доступ к базе.
Ну для кук вообще использовать пасс ненужно, так что непонимаю о чём это вы.

А по поводу доступа к базе, так тут и идёт обсуждение того как защитить пароли юзеров если до базы всётаки доберутся...

Защита на самом деле хороша только тогда, когда даже в случае утери всей инфы(пассы, хеши, алгоритм) востановление паролей занимает время нецелесообразное с важностью этих паролей.

Т.е. врядли кто-то станет тратить сутки брута для востановления пароля от домашней странички, а вот брут пасса от кредитки с крупной суммой должен занимать месяц...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ