[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ускоренный подбор md5
Страницы: 1, 2, 3, 4
sergeiss
twin - ранее в этой теме было верно замечено, что если хакер "слил" и сайт, и БД, то уже без разницы, есть ли там соль.
Если основные (важные) данные сидят в БД, и у хакера есть вся БД, то также не важно, знает ли он про "соль". И тогда весь этот разговор вообще не имеет смысла.
Если же код ПХП не доступен, а у хакера только одна таблица с логин-паролями (и другими данным юзера), но не вся БД... Хакер-то не знает, что мы используем в качестве "соли"! И пароль он не декодирует, не зная алгоритма. То есть, в итоге не получит доступа к данным.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
twin
Цитата (sergeiss @ 8.05.2013 - 10:06)
Если же код ПХП не доступен, а у хакера только одна таблица с логин-паролями (и другими данным юзера), но не вся БД... Хакер-то не знает, что мы используем в качестве "соли"! И пароль он не декодирует, не зная алгоритма. То есть, в итоге не получит доступа к данным.

Это то как раз понятно. Не понятен профит от того, что мы будем зниматься зоофилией с собачками. В чем профит индивидуальной соли?

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

Так и тут, впрочем много где в прогрммировании. Зчем делать лишние, совершенно ненужные действия?

Соль, это секретные данные, добавляемые к паролю для усложнения брутфорса. Все, этого достаточно. Для чего делать индивидуальную соль? Для чего эти извращения, если толку от них никакого. Ведь сам написал:
Цитата
Если же код ПХП не доступен
значит недоступна и соль и алгоритм. Смысл делать её каждому?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
DedMorozzz
Цитата
Смысл делать её каждому?
Да не делается она ОТДЕЛЬНО. А используется существующая информация. И в конечном итоге делается невозможным взлом, не имея пхп кода.
Т.о. не делая никаких дополнительных полей, повышаем надёжность.
Что тут может смущать?

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
TMake
Цитата (twin @ 8.05.2013 - 12:33)
Отдельная соль для каждого, это геммор.

я писал что тогда будет отдельная соль?? Это из аналога Joomla, там одна соль для всех.

Цитата (twin @ 8.05.2013 - 13:05)
Это не так сложно вычислить, даже не зная алгоритма хэширования.

Очень интересно. Проведем опыт на выявление алгоритма?
twin
Цитата (DedMorozzz @ 8.05.2013 - 10:42)
Цитата
Смысл делать её каждому?
Да не делается она ОТДЕЛЬНО. А используется существующая информация. И в конечном итоге делается невозможным взлом, не имея пхп кода.
Т.о. не делая никаких дополнительных полей, повышаем надёжность.
Что тут может смущать?

Смущают две вещи.
1. Зная алгоритм и имея в руках базу данных мы имеем возможность отбрутить коллизию.
2. Чем сложнее алгоритм, тем больше он подвержен сбоям.

Собственно больше всего смущает, как я и написал раньше, один вопрос. А нафига? Вполне достаточно прописать её в конфиге где-нибудь. Можно две, три, если совсем паранойя одолевает. Но для чего каждому то?

И уж тем более никких полей не нужно. Ни дополнительных, ни существующих.

stepan
Цитата
Очень интересно. Проведем опыт на выявление алгоритма?
Где это я обещал выявить алгоритм? Я говорил, что не так сложно узнть, что используется в качестве соли. Ну если это не карусель конечно, которую Сергей предложил.

Вы поймите, что не нужно усложнять то, что в усложнении не нуждается. Невозможно отбрутить такой хэш:

$hash = md5($salt1 . $password . md5($password . $salt2) . sha1($password));

не зная алгоритма и соли. Так для чего лишний раз дергать базу, вычислять половину собаки и так далее, если все равно это не увеличивает надежность?

Для чего делать стены дома тощиной в 15 метров, если достаточно одного? Лбом пробить невозможно. Другими словами что метр, что два, что три, все равно эфект один - нельзя сломать лбом. Знчит метр достаточно. А если будет ядерная война, так радиацией накроет, что толку стены укреплять с такими затратами?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
DedMorozzz
Николай, ну ейбогу, как будто не с тобой общаюсь....
Цитата

Смущают две вещи.
1. Зная алгоритм и имея в руках базу данных мы имеем возможность отбрутить коллизию.
2. Чем сложнее алгоритм, тем больше он подвержен сбоям.

1. Т.е. имея всё? Странно, что имея всё можно получить возможность коллизии
Чем отличается от варианта с хранением в конфиге? Ибо алгоритм, как и конфиг - это уже пхп файл
2. это актуально при человеческом факторе, программе всё равно. Да и даже если...какая тут сложность? Работа со строками это сложный алгоритм?
Цитата
Невозможно отбрутить такой хэш:

$hash = md5($salt1 . $password . md5($password . $salt2) . sha1($password));

Да невозможно обрутить даже такой хеш - md5($salt.$pass); Не зная соли, а её не узнать не получив доступа к исходникам.

Цитата
Так для чего лишний раз дергать базу
Стоп...а ты юзера авторизируешь не делая запрос к базе? Если всё же делаешь, тогда где тут "лишний раз"?

И на последок - в чём преимущество в константной соли, хранимой в конфиге, по сравнению с уникальной солью, по любым юзерским данным?

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Valick
Цитата
Ну если это не карусель конечно, которую Сергей предложил.

и что?
имея пароль и хеш, трудно перебрать все ваианты этих полей? минута или две на перебор, ну и код написать... если таблиц много, то чуть дольше, можно чаю успеть попить smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
DedMorozzz
Цитата
имея пароль и хеш, трудно перебрать все ваианты этих полей?

Чесно говоря - не понял тебя. Если у нас есть пароль, зачем нам что-то ещё перебирать?

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
twin
Цитата
1. Т.е. имея всё? Странно, что имея всё можно получить возможность коллизии

А вот и не все. В твоем случае все получается. В моем случае можно знть алгоритм, иметь доступ к полной базе, но не иметь доступа с соли и знчит не знать её. А ну ка попробуй)))

Цитата
И на последок - в чём преимущество в константной соли, хранимой в конфиге, по сравнению с уникальной солью, по любым юзерским данным?
Преимущество в простоте. Индивидульная соль должна как минимум иметь еще один обязательный праметр, кроме пароля. Если это логин (или часть), то это минимум надежности. И невозможность этот логин сменить. Других паараметров может и не быть. Я вот на своем сайте не храню дату регистрации за ненадобностью. Контрольное слово запрашивать? Про собачку? Ну для чего это все усложнять, когда спокойно все делается обычной константой. С тем же (даже большим) успехом?

Я всегда выступаал против бездумного усложнения программ. Потому что не понимаю: зачем? Так и сейчас, мне объясняют, что это не хуже, но ни кто не ответил, в чем профит усложнения? Зачем???

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Valick
DedMorozzz, это пароль который мы регистрируем, а потом сливаем хеши и нашего пароля и всех остальных, имея пару пароль хеш ищем соль.


_____________
Стимулятор ~yoomoney - 41001303250491
DedMorozzz
Цитата
DedMorozzz, это пароль который мы регистрируем, а потом сливаем хеши и нашего пароля и всех остальных, имея пару пароль хеш ищем соль.
Да ну не скажи. Можно веть не тривиальный сделать алгоритм, как Твин предлагает - константную соль.
А к примеру, взять айди юзера, к ней добавить остаток от деления на 7. Это всё умножить на дату регистрации в юникоде.
Но даже если соль константна - всё упирается в алгоритм. Даже если вообще нету соли, всё равно всё упирается в алгоритм хеширования. Если даже без соли там стоит md5(md5(pass).md5(pass)) или другая комбинация, то наугад такое не перебрать, а веть вложеность может быть любой. Просто без соли, алгоритм должен быть запутанее

Цитата

А вот и не все. В твоем случае все получается. В моем случае можно знть алгоритм, иметь доступ к полной базе, но не иметь доступа с соли и знчит не знать её. А ну ка попробуй)))
И в твоём случае всё. Глупо получается, "взломщик" получил доступ по ФТП или SSH к исходникам, но посмотрел всё кроме конфига?
Ну в таком случае надо алгоритм писать в 25й строке, он её точно не посмотрит, вот иделаьная защита.
Что в соли в конфиге, что соль для юзера - уязвимое место - доступ к исходникам. Только в твоём случае ещё и дополнительно инкдлуд конфига делается при авторизации, если он не нужен.
А лишний инклуд - тяжело рассматривать как преимущество

Цитата
Я вот на своем сайте не храню дату регистрации за ненадобностью.
Да в том то и + что использовать можешь всё что угодно. Хоть айди, хоть дату регистрации. Да хоть кем юзер был приглашен. Алгоритм полностью универсален, без дополнительных, абсолютно ненужных полей в конфигах

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
twin
DedMorozzz
Цитата
И в твоём случае всё. Глупо получается, "взломщик" получил доступ по ФТП или SSH к исходникам, но посмотрел всё кроме конфига?

А кто сказал, что у него есть доступ к конфигу? У него может быть база и алгоритм, взятый к примеру из соурсной доки.

Кстати, по мотивм написал функцию небольшенькую.

Цитата
Только в твоём случае ещё и дополнительно инкдлуд конфига делается при авторизации, если он не нужен.
Конфиг всегда подключен. Как может сайт работать без конфигурации? В том и все дело: или добавить одну строчку в уже подключенный конфиг, или мудрить с вычислениями остатков от 7. Кстати, это тоже константа. А при регистрации еще и потребуется дополнительный запрос для получения ID юзера.

Так ты объясни все-таки. В чем преимущество индивидуальной соли?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
DedMorozzz
Цитата
А при регистрации еще и потребуется дополнительный запрос для получения ID юзера.
Да зачем?
Юзер вводит логин(к примеру емейл) и пасс. По мылу выбираем запись.
И там есть уже айди и все остальные данные. Проводим все необходимые првоерки, и если хеш выбраной записи совпал с хешом который получили - авторизируем. Иначе выводим - не верно введён логин или пароль
Где тут ещё 1 запрос

Цитата
Так ты объясни все-таки. В чем преимущество индивидуальной соли?
Да в том, что не нагружается конфиг. Не захламляется ненужными данными

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
twin
DedMorozzz
Цитата
Проводим все необходимые првоерки, и если хеш выбраной записи совпал с хешом который получили - авторизируем. Иначе выводим - не верно введён логин или пароль
Где тут ещё 1 запрос
Я же написал - при регистрации. Что бы вычислить соль, нужен ID. А его еще нет, юзер не зареган. Придется сначала создать ему учетную запись, получить её ID, вычислить хэш и вторым запросом добавить в базу.

Цитата
Да в том, что не нагружается конфиг. Не захламляется ненужными данными
Ага. То есть одна строка плана
    define('SALT',  'ds$e2(dx#s');
это захламление. А этот странный алгоритм с делением на 7, шаманство с бубном вокруг id, даты регистрации, выгул собачек и так далее, это чистота и порядок. (Кстати, преимущество константной соли - возможность использования более широкого спектра символов).

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

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Valick
Я еще в первом посте сказал что пароль должен быть нормальным, а не типа "popcorn", хоть обсолись, такие пароли взламывают "по словарю" и не важно чего там навертел программист. И кстати по соль я там дописал в последнюю очередь.

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.