Re: Шлях на криптографічну вершину
FakiNyan написав:і хеш паролю різний кожного разу, хоча пароль той самий
Ну так сіль різна, от і хеш буде також різний.
а як тоді порівнюється пароль з хешем, що у бд?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Алгоритми та структури даних, технології → Криптографія → Шлях на криптографічну вершину
FakiNyan написав:і хеш паролю різний кожного разу, хоча пароль той самий
Ну так сіль різна, от і хеш буде також різний.
а як тоді порівнюється пароль з хешем, що у бд?
а як тоді порівнюється пароль з хешем, що у бд?
Ну так ви ж знаєте сіль, пароль ви не знаєте, його вводить користувач, якщо хеш сіль+пароль збігається з тим, що у вас в БД, то все ок, пароль вірний, якщо хеш сіль+пароль не збігається, то пароль або сіль була неправильною, що й дало неправильний результат.
Сіль статична, всі паролі пишуться з однією і тією ж сіллю, головне щоб ця сіль була складна і "унеможливлювала" брутфорс хешу по відомим базам.
Схоже, що безпека даних користувачів вас зовсім не цікавить.
так, я забув, це спочатку генериться сіль, а потім вона додається до хешу пароля? чи спочатку генериться сіль, додається до паролю, а потім генериться хеш солі разом з паролем, як одне ціле?
хеш(пароль + сіль) // або
хеш(сіль + пароль) // або
хеш(перемішати(пароль, сіль))
угу, одже - сіль кожного разу і має бути різною.
Спочатку генериться сіль, вона додається до паролю, і обчислюється хеш результати.
Потім до цього результату додається хеш самої солі, як я зрозумів, і вже це все зберігається в бд.
В базі в одній таблиці мають бути 2 (як мінімум) поля, в одному зберігається хеш (хеш посоленого пароля), в другому - сіль (чиста сіль, не хеш солі, бо потім треба солити пароль для перевірки).
угууу, і я так пойняв, якщо ми маємо сіль, і хеш солі з паролем, то ми можемо додати цю сіль до пароля, зробити хеш, і перевірити його. Але якщо якийсь хацкер не знає паролю, але має і сіль, і хеш солі з паролем, то навіть маючи цю сіль, він не зможе дістати пароль?
А хіба він не може так само брутфорсити, але тепер до кожного паролю додавати сіль, котру він стирив із бд разом з хешем солі та пароля?
угууу, і я так пойняв, якщо ми маємо сіль, і хеш солі з паролем, то ми можемо додати цю сіль до пароля, зробити хеш, і перевірити його. Але якщо якийсь хацкер не знає паролю, але має і сіль, і хеш солі з паролем, то навіть маючи цю сіль, він не зможе дістати пароль?
Саме так.
А хіба він не може так само брутфорсити, але тепер до кожного паролю додавати сіль, котру він стирив із бд разом з хешем солі та пароля?
Брутфорс - тривалий процес. Якщо все правильно зробити, то середній час очікування хацкера буде вимірюватися роками.
upd: Простіше і швидше провести інєкцію коду і перехопити пароль, який буде відправлений самим користувачем, і потім зайти з першого разу.
це я до того, що нафіга та сіль треба, якщо брутфорс буде таким самим брутфорсом, просто треба буде додавати сіль
типу, є у нас пароль 003, аби збрутити його, нам треба 4 спроби, і є у нас пароль сіль003, так нам треба ті самі 4 спроби, просто до кожного паролю додавати сіль зпереду
Подивився один зі старих своїх проектів і побачив там сіль до кожного хешу. Як же швидко все забувається
ну так ви еталонна веб-макака - копіпаст, і більше нічого не треба, а повчати лізе.
це я до того, що нафіга та сіль треба, якщо брутфорс буде таким самим брутфорсом, просто треба буде додавати сіль
Для брутфорсу соленого паролю хакер повинен мати інформацію про те, як саме сіль додається до паролю.
Ну і хеш посоленого паролю хакер не знайде в жодній базі готових хешів-паролів, а якщо і знайде, то це буде для іншої пари пароль-сіль.
FakiNyan написав:це я до того, що нафіга та сіль треба, якщо брутфорс буде таким самим брутфорсом, просто треба буде додавати сіль
Для брутфорсу соленого паролю хакер повинен мати інформацію про те, як саме сіль додається до паролю.
Ну і хеш посоленого паролю хакер не знайде в жодній базі готових хешів-паролів, а якщо і знайде, то це буде для іншої пари пароль-сіль.
під як саме ви маєте на увазі сіль+пароль, чи пароль+сіль, чи все перемішане?
Все це давно пройдений етап, не хаміть, ви елементарну авторизацію не можете осилити.
І лізти з такими питаннями сеньору - шкварка.
нє, ну не знати таких елементарних речей людині. котра авторизаціями все життя займається - це й дісно, кхе кхе.. не буду казати, що. А мені, як фронтендщику, знати таке, навіть по роботі, не тре.
leofun01 написав:FakiNyan написав:це я до того, що нафіга та сіль треба, якщо брутфорс буде таким самим брутфорсом, просто треба буде додавати сіль
Для брутфорсу соленого паролю хакер повинен мати інформацію про те, як саме сіль додається до паролю.
Ну і хеш посоленого паролю хакер не знайде в жодній базі готових хешів-паролів, а якщо і знайде, то це буде для іншої пари пароль-сіль.під як саме ви маєте на увазі сіль+пароль, чи пароль+сіль, чи все перемішане?
Так. В реальних проектах проста конкатенація стрічок використовується лише на етапі розробки і тестування, а перед заливкою сайту на хост метод перемішування змінюється і тримається в секреті. Ніхто, крім, можливо, розробника і хостера, не повинен мати доступ до цього методу.
З вас такий фронтендщик як і геймдев, тобто дуже чудовий.
ну не знаю, коли був в гейдеві - ніяких нарікань не було, і клієнти повертались знову до мене, а в фронт-енді так само, клієнт на кожному колі нахвалює, і п'ятирічку за чотири виконую.
А у вас шо?
FakiNyan написав:leofun01 написав:Для брутфорсу соленого паролю хакер повинен мати інформацію про те, як саме сіль додається до паролю.
Ну і хеш посоленого паролю хакер не знайде в жодній базі готових хешів-паролів, а якщо і знайде, то це буде для іншої пари пароль-сіль.під як саме ви маєте на увазі сіль+пароль, чи пароль+сіль, чи все перемішане?
Так. В реальних проектах проста конкатенація стрічок використовується лише на етапі розробки і тестування, а перед заливкою сайту на хост метод перемішування змінюється і тримається в секреті. Ніхто, крім, можливо, розробника і хостера, не повинен мати доступ до цього методу.
о, ось це вже робить сенс. Тепер буду в цю сторону рити, бо хз, як воно зараз там робиться.
FakiNyan написав:Тепер буду в цю сторону рити, бо хз, як воно зараз там робиться.
Сіль можна й з самого паролю видобувати, в такому разі навіть якщо ваш сайт цілком злиють, то паролі будуть у відносній безпеці.
в якому сенсі видобувати? з самого хешу паролю? чи мається на увазі генерація солі з перестановки елементів паролю?
Як вам захочеться, можна взагалі комбінувати, наприклад, так
$password = md5($salt.md5($password).md5(substr($password,2,4)))
угу, я так пойняв, зараз воно тупо конкатенує, бо воно ж дає мені сіль перед хешуванням паролю, отже, перемішування я маю реалізувати сам. Хоча там є версія методу, де все відбувається разом, без доступу пограміста до солі, це, мабуть, зроблено саме для швидкої розробки, чи що..
Насправді сіль більше потрібна для того, щоб не можна було підібрати пароль за допомогою готових хеш таблиць, котрі є у вільному доступі. Те, як ви будете її реалізовувати це вже значення другорядне. Просто якщо ви будете просто зберігати хеші не використовуючи сіль, то зливши вашу БД з паролями можна буде взяти пароль з готових хеш таблиць, але як показує практика, то багато людей використовує банальні паролі по типу 123123 або qwerty, тому такі прості паролі дуже легко буде знайти навіть без використання готових хеш таблиць, тобто з цим справиться навіть новачок, котрий пехопе почав вивчати позавчора ввечері і який навіть гадки не має як автоматизувати перевірку стирених хешів з готовими хеш таблицями.