Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> розшифровать md5 скриптом ПХП 
V
    Опции темы
Strilo4ka
Дата 23.9.2009, 13:40 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 27.2.2009

Репутация: нет
Всего: нет



 читал книгу и наткнулся на вот это

 
Код

 error_reporting(E_ALL & ~E_NOTICE); 

  // Устанавливаем неограниченное время выполнения скрипта 
  set_time_limit(0); 

  // Читаем пароли из файла password 
  $pass = file("password"); 
  foreach($pass as $password) 
  { 
    // Замеряем время, затраченное на подбор пароля 
    $begin = time(); 
    echo decrypt_md5(trim($password),""); 
    $end = time(); 
    echo "  (На подбор затрачено ".($end - $begin)." секунд) <br>"; 
  } 

  // Функция посимвольного перебора пароля 
  // $pass - расшифровываемый пароль 
  // $answer - текущий ответ, при первом вызове - пустая строка 
  function decrypt_md5($pass, $answer) 
  { 
    $arr = array('a','b','c','d','e','f', 
                 'g','h','i','j','k','l', 
                 'm','n','o','p','q','r','s', 
                 't','u','v','w','x','y','z'); 
    // Будем считать, что пароль не превышает 
    // 4 символов 
    $max_number = 3; 
    if(strlen($answer) > $max_number) return; 

    for($j = 0; $j < count($arr); $j++) 
    { 
      $temp = $answer.$arr[$j]; 
      if(md5($temp) == $pass) return $temp; 
      // Рекурсивно вызываем фукнцию для увеличения 
      // длины подбираемого пароля 
      $result = decrypt_md5($pass, $temp); 
      // Если функция возвращает непустую строку, 
      // следовательно, найден ответ и дальше искать 
      // не следует 
      if(strlen($result) > 0) return $result; 
    } 
  }

   

Для шыфрования паролей прибегают зачастую к необратимому шыфрованию. Однако это вовсе не значит, что пароль, особенно простой, невозможно подобрать.
Тут приведен пример подбора пароля методом перебора символов из массива $arr. Если надо можно дописать масив $arr нужными символами. Пароли располагаються в файле password, расположенном в той же директории, что скрипт. Переменная $max_number задает максимальный размер подыскиваемого пароля. Для каждой хеш - сумы ис файла ищется пароль (хеш сума подставляеться в рекурсивную функцию которая ищет пароль для определенного хеша). В начале скрипта снимаеться ограничение на время, просто пароль долго подбираеться. 

Как видно здесь ищеться пароль хеш-сумы md5() - 32 розряда. Может быть и 16 розрядов. Для этого в md5() функции надо указать необязательный второй параметр. Можна код описаный выше переделать и под другую необратимую функцию, и даже, например, под функцию password СУБД MYSQL:

Код

<? 
// Устанавливаем неограниченное время выполнения скрипта 
set_time_limit(0); 
$db=@mysql_connect('localhost','root','',MYSQL_CLI  ENT_SSL) or die('Не вдалося з\'єднатися з базою даних'); 
@mysql_select_db('dog') or die('Не вдалося вибрати базу даних'); 

// Читаем пароли из файла password 
$pass = file("password"); 
foreach($pass as $password) 
{ 
// Замеряем время, затраченное на подбор пароля 
$begin = time(); 
echo decrypt_pass(trim($password),""); 
$end = time(); 
echo " (На подбор затрачено ".($end - $begin)." секунд) <br>"; 
} 

// Функция посимвольного перебора пароля 
// $pass - расшифровываемый пароль 
// $answer - текущий ответ, при первом вызове - пустая строка 
function decrypt_pass($pass, $answer) 
{ 
$arr = array('a','b','c','d','e','f', 
'g','h','i','j','k','l', 
'm','n','o','p','q','r','s', 
't','u','v','w','x','y','z', 
'A','B','C','D','E','F', 
'G','H','I','J','K','L', 
'M','N','O','P','Q','R','S', 
'T','U','V','W','X','Y','Z', 
'1','2','3','4','5','6','7','8','9','0'); 
// Будем считать, что пароль не превышает 
// 4 символов 
$max_number = 4; 
if(strlen($answer) > $max_number) return; 



for($j = 0; $j < count($arr); $j++) 
{ 
$temp = $answer.$arr[$j]; 
//пассворд функция 
$p=mysql_query("Select password('$temp')"); 
$row=mysql_fetch_array($p); 
//print_r($row); 
//$temp=$row[0]; 
//echo $temp; 
if(($row[0]) == $pass) return $temp; 
// Рекурсивно вызываем фукнцию для увеличения 
// длины подбираемого пароля 
$result = decrypt_pass($pass, $temp); 
// Если функция возвращает непустую строку, 
// следовательно, найден ответ и дальше искать 
// не следует 
if(strlen($result) > 0) return $result; 
} 
} 
?>


В даной примере на каждом переборе идет запрос к СУБД для того чтоб узнать саму хеш суму для подобраного пароля и сравнить ее со строкой с отпечатком в файле password. Если отпечатки равны то пароль, который шыфруеться функциеей password() в СУБД найден и будет выведен на екран и если есть в файле следущие пароли они будут также перебиратся. Следует сказать что такие приложения лучше делать на компилируемых а не на интерпретируемых языках програмирования, но никто не запрещает использовтаь и интерпретатор для етих нужд!

За ошыбки тысячу извинений!!!

Это сообщение отредактировал(а) Strilo4ka - 24.9.2009, 08:15
PM ICQ   Вверх
MoLeX
Дата 24.9.2009, 05:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



не понял смысл топика. от нас что требуется?!

Добавлено через 51 секунду
Strilo4ka, лучше не извиняйся, а открой Word и в нем исправь ошибки - читать больно


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Strilo4ka
Дата 24.9.2009, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 27.2.2009

Репутация: нет
Всего: нет



от вас ниче не требуеться! Просто написал если кому интересно...
PM ICQ   Вверх
Ипатьев
Дата 24.9.2009, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Я вижу, автор старательно и последовательно нарывается на статью 272 УК РФ. Про другие страны не знаю, но там наверняка есть аналогичные. 
PM MAIL   Вверх
MoLeX
Дата 24.9.2009, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Ипатьев, это все ерунда, по сравнению с тем что md5 хэш
Цитата

розшифровать


нельзя, только подбор


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
icewind
Дата 24.9.2009, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Цитата(Strilo4ka @  23.9.2009,  13:40 Найти цитируемый пост)
// Будем считать, что пароль не превышает 
// 4 символов 

Ни один уважающий себя разработчик не позволит вводить пароли короче 4 символов... Это глупость полная, а такой алгоритм подбора на практике не применим.

Нормальный пароль R.6&a)F3@gJ и 


Цитата(Strilo4ka @  23.9.2009,  13:40 Найти цитируемый пост)
// Замеряем время, затраченное на подбор пароля 

 превратится в  "Тихо встречаем старость перед монитором" а ведь хешировать можно не только голый пароль...


--------------------
user posted image
PM MAIL Skype   Вверх
MoLeX
Дата 24.9.2009, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(icewind @  24.9.2009,  08:52 Найти цитируемый пост)
а ведь хешировать можно не только голый пароль... 


Цитата(icewind @  24.9.2009,  08:52 Найти цитируемый пост)
Ни один уважающий себя разработчик не позволит вводить пароли короче 4 символов... 

ну не глупость, ведь как ты заметил голый пароль не кто не позволит, а чтонибудь вот такое:
Код

md5($pass."\nKEY\n".$login);


и ваш скрипт нервно курит в стороне


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
icewind
Дата 24.9.2009, 09:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Естественно, но это только в дополнение к нормальному паролю имхо.


--------------------
user posted image
PM MAIL Skype   Вверх
Strilo4ka
Дата 24.9.2009, 11:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 27.2.2009

Репутация: нет
Всего: нет



понятно вопросов нет что может использоваться "соленый хеш" тогда скрипт в одно место. А по поводу
icewind "Ни один уважающий себя разработчик не позволит вводить пароли короче 4 символов... Это глупость полная, а такой алгоритм подбора на практике не применим" длину пароля можно увеличить в скрипте есть переменная. А все возможные символы можно указать в масиве $arr но понятно что будет дольше бодбирать!!!
PM ICQ   Вверх
MoLeX
Дата 24.9.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Strilo4ka, на самом деле это не нужно
http://aisys.ru/mdcrack/

Добавлено через 40 секунд
куда логичнее прогонять хэш по существующей базе


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Strilo4ka
Дата 24.9.2009, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 27.2.2009

Репутация: нет
Всего: нет



согласен MoLeX!!! знал что есть такие...  В книге Кузнецова 2-ое издание встретил этот скрипт и написал. Этой книги в паблик нет, ее покупать надо.  А по поводу таких сервисов встречаються и платные.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.