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

Немного про Соль (SALT)
  #1  
Старый 27.03.2006, 04:55
Аватар для Гаврила
Гаврила
Постоянный
Регистрация: 24.10.2005
Сообщений: 343
Провел на форуме:
3175190

Репутация: 134
По умолчанию Немного про Соль (SALT)

Тут я вижу возникает много вопросов о том, что такое Соль и с чем собственно её едят =).
Хотелось бы немного прояснить ситуацию.
Что необходимо понять в первую очередь...
В первую очередь необходимо хотя бы поверхностно понять алгоритм хеширования.
Будем разбираться на примере форумов IPB => 2.0.*
В этих форумах алгоритм следующий : md5(md5($salt).md5($pass)).
Для справки,в форумах IPB <= 2.0.* алгоритм такой : md5.
Теперь разберём всё на примере.
Допустим у нас есть пароль: 123.
При регистрации в форумах IPB <= 2.0.* наш пароль хешируется алгоритмом md5 и преобразуется в такую строку: 202cb962ac59075b964b07152d234b70. Таким образом,поимев этот хеш, стырив Cookies жертвы,мы можем эту строку расшифровать благодаря множеству существующих программ и т.д. Всё просто.(Лишь бы пароль был не сильно мудрёный).
Теперь переходим к IPB => 2.0.* .
Что мы видим: md5(md5($salt).md5($pass))[PHP].
Даю определение Salt - она-же Соль.
Salt - это сгенерированные скриптом данные, которые усложняют подбор пароля после хеширования.А как она усложняет мы сейчас разберёмся.
В IPB соль состоит из пяти случайно сгенерированных символов.
Пример: kHa$+ или @pBuc
Теперь по порядку:
Допустим мы регистрируемся в форуме IPB => 2.0.* всё с тем-же паролем: 123. Что происходит...
1)Скрипт генерирует нам случайным образом соль(у всех пользователей она будет разная) и заносит её в базу данных.
Допустим нам сгенерировал вот такую : XzNaX.
2)Скрипт берёт нашу соль и хеширует её методом md5.
Получилось вот так: b9b91789bc2f1b3735e67f77d46053fa.Это у нас и есть md5($salt).
3)Скрипт берёт наш пароль (у нас он 123) и тоже хеширует его методом md5.
Получилось вот так: 202cb962ac59075b964b07152d234b70.Это у нас и есть md5($pass).
4)Скрипт берёт нашу хешированную соль и наш хешированный пароль,и снова хеширует их методом md5.
Если подставить в нашу формулу: md5(md5($salt).md5($pass))[PHP] полученные два хеша,увидим следующее:
md5(b9b91789bc2f1b3735e67f77d46053fa.202cb962ac59075b964b07152d234b70) Где точка в PHP означает продолжение строки.А значит скрипт берёт эти два хеша без точки(b9b91789bc2f1b3735e67f77d46053fa202cb962ac59075b964b07152d234b70) и хеширует их методом md5.
Получаем хеш : e509e1f6df1450279ec37dd253bd5b1e.
Вот это и есть солёный хеш.
Авторизация пользователя происходит следующим образом.
Наш пользователь вводит свой ID(ник) и пароль.
Скрипт подставит соль соответствующую введенному ID,и пароль,который вы ввели.
В нашем примере получится так : md5(md5(XzNaX).md5(123))[PHP]
Потом он обработает эти данные и сверит их с нашим солёным хешем.
Если данные совпадают,то вы авторизированы.Если нет,то вам напишут...
Теперь о том что, где хранится в IPB => 2.0.*
В разных форумах по разному.Но в дефолтовых версиях в базе данных можно найти:
Директория forummembers: тут хранится "legacy_password". Это не солёный,простой md5 хеш.
Директория forummembers_converge:тут хранится "converge_pass_hash" .Это солёный,итоговый md5 хеш,с которым скрипт сверяется при авторизации.И в этой-же дирректории хранится "converge_pass_salt" .Это та самая соль,которую все желают поиметь =).
Теперь делаем выводы.
При XSS атаке мы получаем на сниффер солёный хеш .Что он нам даёт?Да вообщем-то ничего,кроме того,что мы можем подменив Cookies зайти на форум от имени жертвы.Получить пароль из этого хеша не представляется возможным,потому как мы не знаем Соль.
Вы спросите,а как получить соль?
Только не через Cookies жертвы! В Cookies она не хранится.
Соль можно добыть сплойтами,SQL иньекциями и т.д.(Смотрим видео Coyl'a: http://video.antichat.ru/file25.html ,читаем форум).Вообщем для того что-бы её получить нужно попасть в базу данных форума.Там же в базе данных можно подсмотреть "legacy_password" ,тот самый не солёный хеш,который можно расшифровать без Соли.
Ну вот,пока всё...

Последний раз редактировалось Гаврила; 27.03.2006 в 07:37..
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продам акки ВКОНТАКТ (30 у.е.) dreamer2009 Покупка, продажа, услуги в Соц. Сетях 0 22.04.2009 21:48
Заметка о пользе оптимизации John ShadOS Расшифровка хешей 5 13.04.2009 17:56
Про соль? Sulf aka Joker Расшифровка хешей 1 11.07.2006 18:41



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


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




ANTICHAT.XYZ