PDA

Просмотр полной версии : дабл md5


scrat
23.05.2007, 00:09
вот я так подумал(я могу думать!) что если выполнять шифрование md5 дважды? код это особо увеличивать не будет:
вместо
md5($password);
будет
md5(md5($password));
а вот брут этого будет сильно затруднён т.к. расшифровать хеш в хеше будет наааамного сложнее!
ну что вы думаете по этому поводу?

zl0y
23.05.2007, 00:18
Я тоеж атк думал ,непомню уже что надумал но как мне показалось разницы нету :)

GreenBear
23.05.2007, 00:19
будет сложнее в 2 раза.. точнее медленее ..

scrat
23.05.2007, 00:25
будет сложнее в 2 раза.. точнее медленее ..
ну вот если взять пароль "password" то его md5 хеш будет равен 5f4dcc3b5aa765d61d8327deb882cf99 а дважды md5 будет 696d29e0940a4957748fe3fc9efd22a3 в итоге в базе храниться такой же по размеру хеш,а вот расшифровать его я бы не сказал что в 2 раза труднее(медленнее),ведь при расшифровке просто md5 хеша в среднем где-то на 6-10 символах расшифровываеться а тут 33 символа да ещё фиг догадаешься что это дважды зашифрованно.

zl0y
23.05.2007, 00:26
хм в 3 крякми от без гуя тоже было что то вроде for 1 do 100000 begin md5('string');
Ну и все равно его сломали подбором меньше чем за 2 дня .

Isis
23.05.2007, 00:53
Хм, с трудом вериться что такое можно сломать.....
Как ты расшифруешь хеш хеша?

Ro$k-0
23.05.2007, 00:53
Впринципе если знать что именно так хешируется:
md5(md5($password));
то подбор замедляется,грубо говоря в 2 раза.
(Всё зависит от вычислительных способностей)

scrat,чтобы подобрать пароль к хешу надо:

1)md5(md5($password_brut));где $password_brut-пароль из словаря и.т.д

2)сравнить :
md5(md5($password_brut))
и
хеш который ломаем.

zl0y
23.05.2007, 00:56
А зачем подбирать коллизии нам помогут =)

Digimortal
23.05.2007, 00:56
брутфорс в данном случае не будет особо затруднен, особенно если знать алгоритм..
гораздо эффективнее использовать более сложные алгоритмы с применением salt..

Isis
23.05.2007, 00:57
md5(base64_encode(md5($password)));

Хотя тоже сложного ничего, если знать какой алгоритм =\

fucker"ok
23.05.2007, 01:04
Всё верно. Если знать алгоритм, то брут затрудниться в два раза, а если не знать, то чтобы dc5f4c3b5aa765d61d8327deb882cf99 превратилось в 696d29e0940a4957748fe3fc9efd22a3 понадобиться пара сотен лет (если без коллизий. Чистый брут)

zl0y
23.05.2007, 01:05
md5(md5($string));

Ломаеться так:
Первым делом подбираем строку к хешу чтобы она была равна 696d29e0940a4957748fe3fc9efd22a3=5f4dcc3b5aa765d61 d8327deb882cf99
а дальше брутим 5f4dcc3b5aa765d61d8327deb882cf99 как обычный хещ так что не вижу сособой сложности ^^ тем более что MD5 работает сотые доли секунды на 1 пентиумах ;)

Helios
23.05.2007, 01:36
По-моему не ахти надежно, т.к. количество коллизий с увеличением количества процедур хеширования увеличивается в геометрической прогрессии, т.е. казалось бы расшифровать труднее, а оказывается, в разы проще...

nc.STRIEM
23.05.2007, 10:26
а вот если использовать соль, то это действительно затруднит (естественно есле ты ее не знаеш).



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

да

+toxa+
23.05.2007, 10:56
Увеличивается нагрузка на серв и время расшифровки, вот и всё=\

Deem3n®
23.05.2007, 11:08
md5 это не шифрование

Boccob
23.05.2007, 11:12
О том, как был взломан crackme 3 Bad guy'a, где брался 30000 раз хеш от пароля (http://cracklab.ru/art/?action=view&id=234)
p.s. Правда там пасс был четырехсимвольный...

Raz0r
23.05.2007, 13:01
Делаем так, если пишем, например, авторизацию на свой мега-секурный-CMS:
1. Генерируем рандомную соль
2. Используя соль криптуем пароль md5(md5($password . $salt));
3. Пишем в БД и соль и криптованый пароль
4. При авторизации берем отправляемый нам пароль, выдираем из БД соль, криптуем и сравниваем получившееся с паролем в БД
В куках пишем только пароль и можно замуту с сессиями сделать :) И если сопрут куки и при наличии фишки с сессиями - взлом аккаунта быстро просечется (на своей CMS я сделал логирование подобных попыток авторизации, если вдруг ломятся не с того IP, который прописан в сессии).

Helios
23.05.2007, 13:13
И если сопрут куки и при наличии фишки с сессиями - взлом аккаунта быстро просечется (на своей CMS я сделал логирование подобных попыток авторизации, если вдруг ломятся не с того IP, который прописан в сессии).

Не факт что такая попытка авторизации является взломом. К примеру: сидит человек в инете через GPRS, т.к. сама посебе это штука ненадежная, канал рвется. Человек соединяется еще раз, dhcp выдает ему новый IP. Чел обновляет страницу в браузере, которому на махинации с реконнектами наплевать, и тут твоя CMS орет: "Аааа!!! Подлый хакир!!!".

Некрасиво выходит...

ИМХО, лучше просто включить привязку сессии к IP в настройках PHP. Тогда и сессию не сопрут, и левых логов не будет, и клиента обзывать не будут), просто попросят войти заново.

Raz0r
23.05.2007, 13:15
Никто и не говорит - просто в системе останется запись об этом - и если пользователь обнаружит, что, скажем, во время его отсутствия кто либо заходил под его пользователем - он может принять какие-либо меры.
p.s. система его пропускает дальше и генерирует новую сессию с его IP.

Helios
23.05.2007, 13:18
p.s. система его пропускает дальше и генерирует новую сессию с его IP.

А если действительно угнанная сессия?

Raz0r
23.05.2007, 14:07
Если угнаная - тогда это фиксируется в логах авторизаций, я же уже написал тебе про это. Конечно - возможности XSS отрицать на 100% нельзя (спереть сессию получится только так), но логи авторизаций позволяют отслеживать несанкционированные авторизации.
P.s. я начинал говорить об авторизации и крипте пароля - система сессий вообще не к разговору.

scrat
23.05.2007, 16:29
всё это хорошо но без админского пасса хрен узнаешь как шифруеться(замкнутый круг) кстати было бы неплохо написать сложный алгоритм который добавляет к паролю определённую строку причём чтобы эта строка зависила от логина
зы ещё одна тема.шифровать md5 N раз,а N=ord($login[0]); :D если злоумышленник будет знать этого то вааще круто будет
зызы чёто меня криптография пропёрла дайте пару ссылок на книги по ней

censored!
23.05.2007, 17:07
Когда ты регистрируешься, то возможно что хэш пароля будет у тебя в куках.
Когда он у тебя в куках (и ты ведь знаешь свой пароль) то можешь на своем пароле и хэше попытаться пробрутить алгоритм (т.е. попытаться пределить как был сгенерен пароль). При условии что не используется соль (или она была взята из словаря).

hidden
24.05.2007, 05:43
Вопрос топик-стартеру: Ты когда-нибудь открывал программы для брута md5? Или ты прямо из них методы перечисляешь?)))

Ломаеться так:
Первым делом подбираем строку к хешу чтобы она была равна 696d29e0940a4957748fe3fc9efd22a3=5f4dcc3b5aa765d61 d8327deb882cf99
а дальше брутим 5f4dcc3b5aa765d61d8327deb882cf99 как обычный хещ так что не вижу сособой сложности ^^ тем более что MD5 работает сотые доли секунды на 1 пентиумахСам придумал?, я бы посмотрел как ты будешь брутить 16 в ТРИДЦАТЬ ВТОРОЙ степени комбинаций :D, хотя нет, я до окончания не доживу)))
Посчитаем?
Если хороший комп, то примерно 30'000 паролей в секунду
power(16{символов в таблице}, 32{длина пароля})/30000{паролей в секунду}/60{секунд в минуте}/60{минут в часе}/24{часов в день}/360{дней в году} ~ 364700000000000000000000000 лет =)
Можешь начинать брутить md5(md5('a')) :D

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

Сессию можно привязывать по желанию пользователя как к IP так и хэше юзер-агента.

Thanat0z
24.05.2007, 06:02
Да, поддержу hidden : кг/ам. md5(md5($password)) ерунда и ничего особого и нового в шифровке собой не представляет. Короче учи матчасть

mr.The
24.05.2007, 17:35
если сделать так
md5(sha1(sha1($password+'123') . md5($password)));
то незная алгоритма это хрен кто сбрутит.

аmd5(md5($password))
брутится не намного сложнеее md5($password)

scrat
24.05.2007, 19:38
аmd5(md5($password))
брутится не намного сложнеее md5($password)
я не врубаюсь как так можно его быстро сбрутить!hidden написал примерное кол-во времени
2hidden: комп п4,2Ггц брутит 3млн. паролей/сек. так что ты ошибся

mr.The
24.05.2007, 20:33
так что ты ошибся
я шото невьехал де я ошибся

hidden
25.05.2007, 00:09
2hidden: комп п4,2Ггц брутит 3млн. паролей/сек. так что ты ошибсяЗначит мой комп не такой уж и хороший. 2.7Ghz double core или ты брутишь другой метод у меня md5(md5($pass)+$salt), просто не хотел отчищять лист)))
я шото невьехал де я ошибсяДа не ты ошибся :D

scrat
25.05.2007, 00:13
Значит мой комп не такой уж и хороший. 2.7Ghz double core или ты брутишь другой метод у меня md5(md5($pass)+$salt), просто не хотел отчищять лист)))
Да не ты ошибся :D
я про мд5 брут говорил :D