Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   дабл md5 (https://forum.antichat.xyz/showthread.php?t=40655)

scrat 23.05.2007 00:09

дабл md5
 
вот я так подумал(я могу думать!) что если выполнять шифрование 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

Цитата:

Сообщение от GreenBear
будет сложнее в 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

PHP код:

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 раз хеш от пароля
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

Цитата:

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

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

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

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

Raz0r 23.05.2007 13:15

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

Helios 23.05.2007 13:18

Цитата:

Сообщение от Raz0r
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

если сделать так
PHP код:

md5(sha1(sha1($password+'123') . md5($password))); 

то незная алгоритма это хрен кто сбрутит.

а
PHP код:

md5(md5($password)) 

брутится не намного сложнеее
PHP код:

md5($password


scrat 24.05.2007 19:38

Цитата:

Сообщение от mr.The
а
PHP код:

md5(md5($password)) 

брутится не намного сложнеее
PHP код:

md5($password


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

mr.The 24.05.2007 20:33

Цитата:

так что ты ошибся
я шото невьехал де я ошибся

hidden 25.05.2007 00:09

Цитата:

Сообщение от scrat
2hidden: комп п4,2Ггц брутит 3млн. паролей/сек. так что ты ошибся

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

Сообщение от mr.The
я шото невьехал де я ошибся

Да не ты ошибся :D

scrat 25.05.2007 00:13

Цитата:

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

я про мд5 брут говорил :D


Время: 16:37