[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Расшифровка пароля функции md5 методом перебора
Dimaz
Подскажите как методом перебора хакеры расшифровываю т пароль хешированный функцией md5.
Как я понимаю они вводят поочередно буквы и хешируют их одна за одной функцией md5, до тех пор, пока не совпадет одна из частей хешированного пароля. Просто интересно знать. Если я правильно понимаю их действия, то не будет ли выходом создать свою функцию и каждому символу назначить придуманный мною же код.



Спустя 8 минут, 4 секунды (21.01.2010 - 21:35) Winston написал(а):
Может поможет https://hashcracking.info/index.php

Спустя 8 минут, 19 секунд (21.01.2010 - 21:43) arlamar написал(а):
Цитата
не будет ли выходом создать свою функцию и каждому символу назначить придуманный мною же код.

ну это если только они узнали твой md5 пароль и у себя локально его подбирают... заметь для этого им надо как то поломать базу.
а если простой перебор то какая разница какой функцией шифровать?
тебе заходит простой текст а ты его своей же функцией обработаешь и сверишь) смысла 0...
что бы не подбирали надо принимать другие меры.
1. использовать комбинацию заглавные буквы, маленькие буквы и цифры в паролях.
2. допустим я ограничиваю обращения к сайту до 2-3 в секунду. тоже замедляет перебор.
3. 10 неверных попыток - курить на 15 минут...
и т.д...

Спустя 25 минут, 32 секунды (21.01.2010 - 22:09) jetistyum написал(а):
md5 пароль можно либо подобрать полностью, либо не подобрать, если какая-то часть хэша совпадает, это не означает что какая-то часть пароля совпадает с текущим вариантом строки.
для того чтобы было меньше вероятности подобрать пароль методом перебора используют соль.
что-то вроде md5('password'.md5('fw2o3joij23432423')); где вторая строка -соль... которую ты знаешь

Спустя 16 минут, 23 секунды (21.01.2010 - 22:25) arlamar написал(а):
никак не могу понять смысл "соли" если подбор удаленный))
когда регишь добавляешь соль...
когда чувак подбирает ты опять же берешь то что он дал и добавляешь эту соль...
то есть он как подбирает пароль без соли так и с солью. ему абсолютно всё равно.
другое дело если он его вытащил из базы и пытается подобрать на локальной тачке.

Спустя 15 минут, 34 секунды (21.01.2010 - 22:41) jetistyum написал(а):
если ты имеешь в виду подбор пароля удаленно, то не алгоритм не слишком важен. Другое дело если у тебя на руках есть хэш, например
shfDSER423423WEDW5435ERFFSDFS и ты хочешь узнать, а какой же пароль хранится в этом хэше....
для прямых ключей (не соленых) есть базы хешей, где уже нагенерено много хэшей, и хрянятся строки по которым оно нагенерено, и при совпадении твоего хэша с теми, что уже есть в базе данных, ты можешь узнать какой был пароль у юзера.

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

теперь понятно?smile.gif

Спустя 3 минуты, 31 секунда (21.01.2010 - 22:44) Dimaz написал(а):
Ладно спасибо всем за ответы! Теперь я спокоен за функцию md5. Просто я думал, что в этой функции каждой букве соответствует определенный код.

Спустя 3 минуты, 12 секунд (21.01.2010 - 22:47) arlamar написал(а):
Цитата
Другое дело если у тебя на руках есть хэш

ну в этом случае конечно имеет смысл "солить" smile.gif

Спустя 20 минут, 38 секунд (21.01.2010 - 23:08) Dimaz написал(а):
Совсем забыл сказать. Где то видел что перед использованием функции md5 еще используют функцию генератор случайных чисел. Не слышал кто о таком? И придаст ли это дополнительную сложность для расшифровки

Спустя 1 минута, 27 секунд (21.01.2010 - 23:09) jetistyum написал(а):
сам подумай.. по-моему тут все как на ладони.

Спустя 13 минут, 21 секунда (21.01.2010 - 23:23) Dimaz написал(а):
Если бы я знал то не спрашивал бы. Мне кажется что это усложнит расшифровку

Спустя 46 минут, 45 секунд (22.01.2010 - 00:10) jetistyum написал(а):
почему тебе так кажется???
проведи цепочку логическую, обоснуй?

Спустя 5 часов, 24 минуты, 8 секунд (22.01.2010 - 05:34) dr_Lev написал(а):
Для усиления защиты от подбора я в готовый хеш вставляю соль всередину и побокам..
$pass = 'klji94'.substr_replace(md5('pass'),'489dfd',15,0).'fo45j4';

Спустя 1 час, 30 минут, 15 секунд (22.01.2010 - 07:04) twin написал(а):
smile.gif И чем это поможет? Имея всего два пароля легко можно вычислить твою соль и выкинуть её. А вот то, что ты используешь всего половину хэша увеличивает число колизий в 2 раза. А по сути не в 2, а больше. То есть ты таким способом ухудшил криптостойкость в несколько раз.

Спустя 3 часа, 42 минуты, 38 секунд (22.01.2010 - 10:47) jetistyum написал(а):
соль нужно смешивать не с хэшем, а с паролем...
я же говорил проведи логику, как раз то, что сделал twin, тебе бы самому все стало ясно. тут не в программировании дело.

Спустя 13 часов, 45 минут, 29 секунд (23.01.2010 - 00:32) dr_Lev написал(а):
Цитата (twin @ 22.01.2010 - 04:04)
smile.gif  И чем это поможет?  Имея всего два пароля легко можно вычислить твою соль и выкинуть её. А вот то, что ты используешь всего половину хэша увеличивает число колизий в 2 раза. А по сути не в 2, а больше. То есть  ты таким способом ухудшил криптостойкость в несколько раз.

да, действительно, имея два таких хеша можно вычислить соль... тогда эту соль тоже генерить, например из хеша логина. А вот насчет использования половины хеша, то у меня идет вставка соли внутрь строки после 15-го символа и по краям, таким образом длина хеша увеличится, и количество коллизий наоборот уменьшится. Хотя коллизии тут не важны, главное спрятать сам хеш пароля.
Цитата (jetistyum @ 22.01.2010 - 07:47)
соль нужно смешивать не с хешем, а с паролем...
я же говорил проведи логику, как раз то, что сделал twin, тебе бы самому все стало ясно. тут не в программировании дело.
в таком случае ситуация не сильно изменится, ведь зная "правильный" хеш, можно попытаться найти его первоначальное значение, хоть там даже будет десяток вложений md5.И тогда имея два хеша можно словить соль и выявить пароль.
Разве что сделать хеш пароля, добавить соль, и еще раз хешировать... и тут соль тоже лучше делать уникальной, чтобы спрятать хеш пароля.


Спустя 6 часов, 23 минуты, 17 секунд (23.01.2010 - 06:55) twin написал(а):
О, Боже... Да сколько же можно параноиться...
Такое ощущение, что вся британская разведка только то и делает, что ломает аккаунт Васи Петечкина.
Вот этого
$password = md5($pass . $salt);

не просто достаточно, но и достаточно на всегда. Никогда этого никто не поломает по той простой причине, что это нафиг не надо. Тратить столько время на декриптацию просто неразумно и нерентабельно. smile.gif

Спустя 7 часов, 16 минут, 6 секунд (23.01.2010 - 14:11) FatCat написал(а):
Задача для любителей посчитать:

Дано:
В движке этого форума используется простая эмдепятка пароля.
Мой пароль состоит из 7 символов.
С одного айпишника могут пройти не более 100 неверных подборов за 10 суток, затем бан айпишника.

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



Спустя 1 минут, 10 секунд FatCat написал(а):
Это я к тому, что защита от подбора пароля - не уникальная задача, а одна из комплекса защиты.
При комплексном решении всей системы защиты вопросы безопасности нередко решают друг друга.

Спустя 55 минут, 30 секунд (23.01.2010 - 15:07) twin написал(а):
Вово. +1000.
Я могу рассказать гораздо более интересные вещи, чем хэш пароля. Его и так достаточно, не нужно много думать, все давно придумано.
А вот допустим защита от снифинга. Снтфинг, это когда пароль хоть сто раз хэшированный попадает в руки злодея запросто в чистом виде.
Вот допустим кто то в вашем подъезде (на канале у провайдера) ставит прокси. И сервер думает, что прокси это клиент, а клиент думает, что прокси это сервер.
Хоть стопицот раз хэшируй на сервере, прокси увидит пароль в чистом виде.
Так что...
Если ресурс достойный внимания и есть смысл его ломать, то все эти извращенгия не помогут. Только SSL. А если это банальный хомяк или даже такой форум, как наш, то не стоит параноиться. Дети могут пытаться ломать, но их нужно отшлепать и поставить в угол.
FatCat это умеет делать. smile.gif

Спустя 3 дня, 3 минуты, 25 секунд (26.01.2010 - 15:10) Wollff написал(а):
Цитата (twin @ 23.01.2010 - 12:07)

Если ресурс достойный внимания и есть смысл его ломать, то все эти извращенгия не помогут. Только SSL.

Чёт не нахожу исчерпывающей информации по тому как писать приложения для SSL.
Не подскажите где почитать, на что обратить внимание, в чём там особенности?
Хостер предоставляет свой сертификат. В чем разница, если покупать самому у VeriSign?

Спустя 9 месяцев, 1 день, 1 час, 10 минут, 46 секунд (27.10.2010 - 15:21) Guest написал(а):
echo"<form action='?' method='GET' name='md'>
ваш код md5:<input type='text' name='hash'><input type='submit' value='md5>>>'name='md5'></form>"
;
if($_GET['md5']) {
$hash = $_GET['hash'];
if(isset($hash)) {
$xmd=99999999999999999*99999999999999;
for($i = 0;$i<$xmd; $i++)
if(md5($i) == $hash)
break;
echo "ваш md5 ($hash) = $i";
} else {echo "error";};
};
echo"<br><form action='?' name='m-d' method='GET'>
зашифровать в md5:<input type='text' name='vmd'><input type='submit' name='vmd5' value='>>>md5'></form>"
;
if($_GET['vmd5']) {
$vmd5=$_GET['vmd'];
$otv=md5($vmd5);
echo"$otv";
};

Спустя 51 минута, 10 секунд (27.10.2010 - 16:12) T1grOK написал(а):
Обычно пароли не ломают, а обходят и тут не важно, где вы храните пароли и в каком извращенно-хешировано-зашифрованном виде.

Спустя 50 секунд (27.10.2010 - 16:13) DedMorozzz написал(а):
T1grOK, поясни smile.gif

Спустя 23 минуты, 58 секунд (27.10.2010 - 16:37) T1grOK написал(а):
Ищут уязвимости благодаря которым можно получить "сладкий пряник". Большинство сайтов взламываются, без подбора пароля(детский и бесполезный способ), без знания пароля и т.д. Человек(ХаЦкер) в совершенстве знающий предметную область может при желании взломать практически любую web-систему. Вспомнить хотя бы Гари МакКинон, который взломал сеть Пентагона и NASA.
Все что создано человеком, можно взломать или обойти. Закон!

Спустя 2 минуты, 47 секунд (27.10.2010 - 16:40) DedMorozzz написал(а):
А для какой более сложные и как следствие - дорогостоящие методы, когда я могу получить хэш пароля? Не вижу логики.

Спустя 1 минута, 50 секунд (27.10.2010 - 16:42) twin написал(а):
Тут вопрос в другом.
Ну сломает ктонить этот форум, что толку? Через час все будет восстановлено из бэкапов. Никаких пряников, баловство для школоты.

А вот если он поимеет базу паролей с этого сайта, да расшифрует их, то у него будет вполне приличный инструмент для атак на более серьёзные ресурсы. Вебмани к примеру.
Потому что очень многие пользуются одним набором логин-пароль.

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

Спустя 3 часа, 7 минут, 48 секунд (27.10.2010 - 19:49) aH6y написал(а):
Подскажите что записывать в переменную $salt
$password = md5($pass . $salt);

В моём проэкте я просто хеширую пароль при помощи md5 без каких-либо дополнений.

Как я понимаю можно в соль запихнуть какой-то еще один md5 хеш. Либо обычную строку

Спустя 12 минут, 24 секунды (27.10.2010 - 20:02) twin написал(а):
Просто строку. Что то типа
$salt = 'Dd7#HV2(Ds?gyEG9';

Главное не хрнить в базе.

Спустя 1 час, 40 минут, 18 секунд (27.10.2010 - 21:42) aH6y написал(а):
twin
Понятно. Спасибо
Быстрый ответ:

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