![]() |
дабл md5
вот я так подумал(я могу думать!) что если выполнять шифрование md5 дважды? код это особо увеличивать не будет:
вместо Код:
md5($password);Код:
md5(md5($password));ну что вы думаете по этому поводу? |
Я тоеж атк думал ,непомню уже что надумал но как мне показалось разницы нету :)
|
будет сложнее в 2 раза.. точнее медленее ..
|
Цитата:
|
хм в 3 крякми от без гуя тоже было что то вроде for 1 do 100000 begin md5('string');
Ну и все равно его сломали подбором меньше чем за 2 дня . |
Хм, с трудом вериться что такое можно сломать.....
Как ты расшифруешь хеш хеша? |
Впринципе если знать что именно так хешируется:
md5(md5($password)); то подбор замедляется,грубо говоря в 2 раза. (Всё зависит от вычислительных способностей) scrat,чтобы подобрать пароль к хешу надо: 1)md5(md5($password_brut));где $password_brut-пароль из словаря и.т.д 2)сравнить : md5(md5($password_brut)) и хеш который ломаем. |
А зачем подбирать коллизии нам помогут =)
|
брутфорс в данном случае не будет особо затруднен, особенно если знать алгоритм..
гораздо эффективнее использовать более сложные алгоритмы с применением salt.. |
PHP код:
|
Всё верно. Если знать алгоритм, то брут затрудниться в два раза, а если не знать, то чтобы dc5f4c3b5aa765d61d8327deb882cf99 превратилось в 696d29e0940a4957748fe3fc9efd22a3 понадобиться пара сотен лет (если без коллизий. Чистый брут)
|
md5(md5($string));
Ломаеться так: Первым делом подбираем строку к хешу чтобы она была равна 696d29e0940a4957748fe3fc9efd22a3=5f4dcc3b5aa765d61 d8327deb882cf99 а дальше брутим 5f4dcc3b5aa765d61d8327deb882cf99 как обычный хещ так что не вижу сособой сложности ^^ тем более что MD5 работает сотые доли секунды на 1 пентиумах ;) |
По-моему не ахти надежно, т.к. количество коллизий с увеличением количества процедур хеширования увеличивается в геометрической прогрессии, т.е. казалось бы расшифровать труднее, а оказывается, в разы проще...
|
а вот если использовать соль, то это действительно затруднит (естественно есле ты ее не знаеш).
Цитата:
|
Увеличивается нагрузка на серв и время расшифровки, вот и всё=\
|
md5 это не шифрование
|
О том, как был взломан crackme 3 Bad guy'a, где брался 30000 раз хеш от пароля
p.s. Правда там пасс был четырехсимвольный... |
Делаем так, если пишем, например, авторизацию на свой мега-секурный-CMS:
1. Генерируем рандомную соль 2. Используя соль криптуем пароль md5(md5($password . $salt)); 3. Пишем в БД и соль и криптованый пароль 4. При авторизации берем отправляемый нам пароль, выдираем из БД соль, криптуем и сравниваем получившееся с паролем в БД В куках пишем только пароль и можно замуту с сессиями сделать :) И если сопрут куки и при наличии фишки с сессиями - взлом аккаунта быстро просечется (на своей CMS я сделал логирование подобных попыток авторизации, если вдруг ломятся не с того IP, который прописан в сессии). |
Цитата:
Некрасиво выходит... ИМХО, лучше просто включить привязку сессии к IP в настройках PHP. Тогда и сессию не сопрут, и левых логов не будет, и клиента обзывать не будут), просто попросят войти заново. |
Никто и не говорит - просто в системе останется запись об этом - и если пользователь обнаружит, что, скажем, во время его отсутствия кто либо заходил под его пользователем - он может принять какие-либо меры.
p.s. система его пропускает дальше и генерирует новую сессию с его IP. |
Цитата:
|
Если угнаная - тогда это фиксируется в логах авторизаций, я же уже написал тебе про это. Конечно - возможности XSS отрицать на 100% нельзя (спереть сессию получится только так), но логи авторизаций позволяют отслеживать несанкционированные авторизации.
P.s. я начинал говорить об авторизации и крипте пароля - система сессий вообще не к разговору. |
всё это хорошо но без админского пасса хрен узнаешь как шифруеться(замкнутый круг) кстати было бы неплохо написать сложный алгоритм который добавляет к паролю определённую строку причём чтобы эта строка зависила от логина
зы ещё одна тема.шифровать md5 N раз,а N=ord($login[0]); :D если злоумышленник будет знать этого то вааще круто будет зызы чёто меня криптография пропёрла дайте пару ссылок на книги по ней |
Когда ты регистрируешься, то возможно что хэш пароля будет у тебя в куках.
Когда он у тебя в куках (и ты ведь знаешь свой пароль) то можешь на своем пароле и хэше попытаться пробрутить алгоритм (т.е. попытаться пределить как был сгенерен пароль). При условии что не используется соль (или она была взята из словаря). |
Вопрос топик-стартеру: Ты когда-нибудь открывал программы для брута md5? Или ты прямо из них методы перечисляешь?)))
Цитата:
Посчитаем? Если хороший комп, то примерно 30'000 паролей в секунду power(16{символов в таблице}, 32{длина пароля})/30000{паролей в секунду}/60{секунд в минуте}/60{минут в часе}/24{часов в день}/360{дней в году} ~ 364700000000000000000000000 лет =) Можешь начинать брутить md5(md5('a')) :D Цитата:
Сессию можно привязывать по желанию пользователя как к IP так и хэше юзер-агента. |
Да, поддержу hidden : кг/ам. md5(md5($password)) ерунда и ничего особого и нового в шифровке собой не представляет. Короче учи матчасть
|
если сделать так
PHP код:
а PHP код:
PHP код:
|
Цитата:
2hidden: комп п4,2Ггц брутит 3млн. паролей/сек. так что ты ошибся |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
| Время: 16:37 |