Автодампинг md5

Discussion in 'Криптография, расшифровка хешей' started by xss-faq, 24 Dec 2009.

  1. xss-faq

    xss-faq Banned

    Joined:
    28 Jun 2009
    Messages:
    0
    Likes Received:
    57
    Reputations:
    5
    Скрипт из заданного диапазона символов (задается в массиве $char) скрипт генерирует ВСЕ возможные кобинации и их соответствующие md5 хэши и пишет это все в базу mysql.
    В начале скрипта прописывается настройки бд. Для начала экстремальной закачки бд райнбов таблицы md5 просто запустить скрипт. За все последствия с Вашим сервером я ответственности не несу. :D
    PHP:
    <?php


    // Конфигурация
    $host 'host';              // Хост БД
    $user 'username';          // Паользователь БД
    $password 'passtodb';      // Пароль БД
    $database 'md5';           // Имя БД
    // Соединяемся с БД
    mysql_connect($host$user$password) or die('Не удалось подключиться к БД.');
    // Выбираем Необходимую БД
    mysql_select_db($database);

      
    error_reporting(E_ALL & ~E_NOTICE);

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

    function 
    addmd5($pass) {
    // Массив символов
    $char[] = 'a'$char[] = 'b'$char[] = 'c'$char[] = 'd'$char[] = 'e'
    $char[] = 'f'$char[] = 'g'$char[] = 'h'$char[] = 'i'$char[] = 'j'
    $char[] = 'k'$char[] = 'l'$char[] = 'm'$char[] = 'n'$char[] = 'o'
    $char[] = 'p'$char[] = 'q'$char[] = 'r'$char[] = 's'$char[] = 't'
    $char[] = 'u'$char[] = 'v'$char[] = 'w'$char[] = 'x'$char[] = 'y'
    $char[] = 'z'$char[] = '1'$char[] = '2'$char[] = '3'$char[] = '4'
    $char[] = '5'$char[] = '6'$char[] = '7'$char[] = '8'$char[] = '9'
    $char[] = '0'$char[] = 'A'$char[] = 'B'$char[] = 'C'$char[] = 'D'
    $char[] = 'E'$char[] = 'F'$char[] = 'G'$char[] = 'H'$char[] = 'I'
    $char[] = 'J'$char[] = 'K'$char[] = 'L'$char[] = 'M'$char[] = 'N'
    $char[] = 'O'$char[] = 'P'$char[] = 'Q'$char[] = 'R'$char[] = 'S'
    $char[] = 'T'$char[] = 'U'$char[] = 'V'$char[] = 'W'$char[] = 'X'
    $char[] = 'Y'$char[] = 'Z'$char[] = '!'$char[] = '@'$char[] = '.'
    $char[] = '"'$char[] = "'"$char[] = '#'$char[] = ';'$char[] = '$'
    $char[] = '№'$char[] = "%"$char[] = '^'$char[] = ':'$char[] = '?'
    $char[] = '&'$char[] = "*"$char[] = '('$char[] = ')'$char[] = '-'
    $char[] = '_'$char[] = "+"$char[] = '='$char[] = '/'$char[] = '\\'
    $char[] = ",";
    ///////////////////////////////////////////////////////////
        // Выбираем количество символов ( Если поставите 4 то он будет генерировать на 5 и т.д. )
        
    $maxlen 3;
        
        if(
    strlen($pass) > $maxlen) return 'end.';
        for(
    $j 0$j count($char); $j++) {
            
    $temp $pass.$char[$j];
            
    $insert_hash md5($temp);
            
    $insert_pass addslashes($temp);
            
    // Добавляем хеш в БД
            
    $query "INSERT INTO MD5_BASE(id,hash,pass) VALUES (NULL, '$insert_hash','$insert_pass')";
            
    $insert_md5 mysql_query($query);
            
    ////////////////////////////////////////////////
            
    $result addmd5($temp);
        }
    }

    addmd5("");

    ?>

    Создаём базу из SQL:
    PHP:
    -- phpMyAdmin SQL Dump
    -- version 2.9.0
    -- http://www.phpmyadmin.net
    -- 
    -- 
    Хостlocalhost
    -- Время созданияДек 24 2009 г., 09:33
    -- Версия сервера5.0.51
    -- Версия PHP5.2.6
    -- 
    -- 
    База данных: `md5`
    -- 

    -- --------------------------------------------------------

    -- 
    -- 
    Структура таблицы `md5_base`
    -- 

    CREATE TABLE `md5_base` (
      `
    idint(11) default NULL,
      `
    hashtext,
      `
    passtext
    ENGINE=MyISAM DEFAULT CHARSET=cp1251;

    -- 
    -- 
    Дамп данных таблицы `md5_base`
    -- 



    Для линивых массивы символов
    PHP:
    $char[] = 'a'$char[] = 'b'$char[] = 'c'$char[] = 'd'$char[] = 'e'
    $char[] = 'f'$char[] = 'g'$char[] = 'h'$char[] = 'i'$char[] = 'j'
    $char[] = 'k'$char[] = 'l'$char[] = 'm'$char[] = 'n'$char[] = 'o'
    $char[] = 'p'$char[] = 'q'$char[] = 'r'$char[] = 's'$char[] = 't'
    $char[] = 'u'$char[] = 'v'$char[] = 'w'$char[] = 'x'$char[] = 'y'
    $char[] = 'z'$char[] = '1'$char[] = '2'$char[] = '3'$char[] = '4'
    $char[] = '5'$char[] = '6'$char[] = '7'$char[] = '8'$char[] = '9'
    $char[] = '0'$char[] = 'A'$char[] = 'B'$char[] = 'C'$char[] = 'D'
    $char[] = 'E'$char[] = 'F'$char[] = 'G'$char[] = 'H'$char[] = 'I'
    $char[] = 'J'$char[] = 'K'$char[] = 'L'$char[] = 'M'$char[] = 'N'
    $char[] = 'O'$char[] = 'P'$char[] = 'Q'$char[] = 'R'$char[] = 'S'
    $char[] = 'T'$char[] = 'U'$char[] = 'V'$char[] = 'W'$char[] = 'X'
    $char[] = 'Y'$char[] = 'Z'$char[] = '!'$char[] = '@'$char[] = '.'
    $char[] = '"'$char[] = "'"$char[] = '#'$char[] = ';'$char[] = '$'
    $char[] = '№'$char[] = "%"$char[] = '^'$char[] = ':'$char[] = '?'
    $char[] = '&'$char[] = "*"$char[] = '('$char[] = ')'$char[] = '-'
    $char[] = '_'$char[] = "+"$char[] = '='$char[] = '/'$char[] = '\\'
    $char[] = ",";
    PHP:
    $char[] = 'а'$char[] = 'б'$char[] = 'в'$char[] = 'г'$char[] = 'д'
    $char[] = 'е'$char[] = 'ё'$char[] = 'ж'$char[] = 'з'$char[] = 'и'
    $char[] = 'й'$char[] = 'к'$char[] = 'л'$char[] = 'м'$char[] = 'н'
    $char[] = 'о'$char[] = 'п'$char[] = 'р'$char[] = 'с'$char[] = 'т'
    $char[] = 'у'$char[] = 'ф'$char[] = 'х'$char[] = 'ц'$char[] = 'ч'
    $char[] = 'ш'$char[] = 'щ'$char[] = 'ъ'$char[] = 'ы'$char[] = 'ь'
    $char[] = 'э'$char[] = 'ю'$char[] = 'я'$char[] = '1'$char[] = '2'
    $char[] = '3'$char[] = '4'$char[] = '5'$char[] = '6'$char[] = '7'
    $char[] = '8'$char[] = '9'$char[] = '0'$char[] = 'А'$char[] = 'Б'
    $char[] = 'В'$char[] = 'Г'$char[] = 'Д'$char[] = 'Е'$char[] = 'Ё'
    $char[] = 'Ж'$char[] = 'З'$char[] = 'И'$char[] = 'Й'$char[] = 'К'
    $char[] = 'Л'$char[] = 'М'$char[] = 'Н'$char[] = 'О'$char[] = 'П'
    $char[] = 'Р'$char[] = 'С'$char[] = 'Т'$char[] = 'У'$char[] = 'Ф'
    $char[] = 'Х'$char[] = 'Ц'$char[] = 'Ч'$char[] = 'Ш'$char[] = 'Щ'
    $char[] = 'Ъ'$char[] = 'Ы'$char[] = 'Ь'$char[] = 'Э'$char[] = 'Ю'
    $char[] = 'Я'$char[] = '!'$char[] = '@'$char[] = '"'$char[] = ","
    $char[] = "'"$char[] = '#'$char[] = ';'$char[] = '$'$char[] = '№'
    $char[] = "%"$char[] = '^'$char[] = ':'$char[] = '?'$char[] = '&'
    $char[] = "*"$char[] = '('$char[] = ')'$char[] = '-'$char[] = '_'
    $char[] = "+"$char[] = '='$char[] = '/'$char[] = '\\'$char[] = '.'
    PHP:
    $char[] = 'a'$char[] = 'b'$char[] = 'c'$char[] = 'd'$char[] = 'e'
    $char[] = 'f'$char[] = 'g'$char[] = 'h'$char[] = 'i'$char[] = 'j'
    $char[] = 'k'$char[] = 'l'$char[] = 'm'$char[] = 'n'$char[] = 'o'
    $char[] = 'p'$char[] = 'q'$char[] = 'r'$char[] = 's'$char[] = 't'
    $char[] = 'u'$char[] = 'v'$char[] = 'w'$char[] = 'x'$char[] = 'y'
    $char[] = 'z'$char[] = 'A'$char[] = 'B'$char[] = 'C'$char[] = 'D'
    $char[] = 'E'$char[] = 'F'$char[] = 'G'$char[] = 'H'$char[] = 'I'
    $char[] = 'J'$char[] = 'K'$char[] = 'L'$char[] = 'M'$char[] = 'N'
    $char[] = 'O'$char[] = 'P'$char[] = 'Q'$char[] = 'R'$char[] = 'S'
    $char[] = 'T'$char[] = 'U'$char[] = 'V'$char[] = 'W'$char[] = 'X'
    $char[] = 'Y'$char[] = 'Z'$char[] = 'а'$char[] = 'б'$char[] = 'в'
    $char[] = 'г'$char[] = 'д'$char[] = 'е'$char[] = 'ё'$char[] = 'ж'
    $char[] = 'з'$char[] = 'и'$char[] = 'й'$char[] = 'к'$char[] = 'л'
    $char[] = 'м'$char[] = 'н'$char[] = 'о'$char[] = 'п'$char[] = 'р'
    $char[] = 'с'$char[] = 'т'$char[] = 'у'$char[] = 'ф'$char[] = 'х'
    $char[] = 'ц'$char[] = 'ч'$char[] = 'ш'$char[] = 'щ'$char[] = 'ъ'
    $char[] = 'ы'$char[] = 'ь'$char[] = 'э'$char[] = 'ю'$char[] = 'я'
    $char[] = '1'$char[] = '2'$char[] = '3'$char[] = '4'$char[] = '5'
    $char[] = '6'$char[] = '7'$char[] = '8'$char[] = '9'$char[] = '0'
    $char[] = 'А'$char[] = 'Б'$char[] = 'В'$char[] = 'Г'$char[] = 'Д'
    $char[] = 'Е'$char[] = 'Ё'$char[] = 'Ж'$char[] = 'З'$char[] = 'И'
    $char[] = 'Й'$char[] = 'К'$char[] = 'Л'$char[] = 'М'$char[] = 'Н'
    $char[] = 'О'$char[] = 'П'$char[] = 'Р'$char[] = 'С'$char[] = 'Т'
    $char[] = 'У'$char[] = 'Ф'$char[] = 'Х'$char[] = 'Ц'$char[] = 'Ч'
    $char[] = 'Ш'$char[] = 'Щ'$char[] = 'Ъ'$char[] = 'Ы'$char[] = 'Ь'
    $char[] = 'Э'$char[] = 'Ю'$char[] = 'Я'$char[] = '!'$char[] = ","
    $char[] = '@'$char[] = '"'$char[] = "'"$char[] = '#'$char[] = ';'
    $char[] = '$'$char[] = '№'$char[] = "%"$char[] = '^'$char[] = ':'
    $char[] = '?'$char[] = '&'$char[] = "*"$char[] = '('$char[] = ')'
    $char[] = '-'$char[] = '_'$char[] = "+"$char[] = '='$char[] = '/'
    $char[] = '\\'$char[] = '.';
    Еще раз повторяю, за все последствия с Вашим сервером я ответственности не несу. :D Вы используете скрипт на свой страх и риск.
     
    2 people like this.
  2. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    воо изврат :)
     
  3. Peklots

    Peklots Elder - Старейшина

    Joined:
    28 Sep 2008
    Messages:
    281
    Likes Received:
    144
    Reputations:
    36
    ыы, идея хорошая, а реализация пздц))
    Все твои $char можно короче записать, ога.
     
  4. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    Описал бы еще размеры БД для 6 символов, для 7 символов и т.п. Хоть примерно. Считать лень :) Ты начал статью ты ее и закончи ))
     
  5. Lilo

    Lilo Banned

    Joined:
    10 Mar 2009
    Messages:
    462
    Likes Received:
    784
    Reputations:
    313
    а помойму это просто пистец
    тс ты что курил?
     
  6. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    Да нормально все. Не самая быстрая реализация построения РАИНБОУ, но принцип верный. Я бы писал это все в многопотоке, на чем то более низкоуровневом и хранил ы в оракле вместо майсекеля. Но где взять столько места?! :)

    З.Ы.
    Я "курю" или для 6 символов при алфавите = 75 места нужно около 5 TB ??
     
  7. xss-faq

    xss-faq Banned

    Joined:
    28 Jun 2009
    Messages:
    0
    Likes Received:
    57
    Reputations:
    5
    Неужели это так сложно?
    50000000=2.5гб
    Например ты генерируешь на 100 символов-
    100*100*100*100*100*100=1000000000000
    1000000000000 / 5000000 = 200000
    200000*2.5=500000=ПИЗДЕЦ ГБ
     
  8. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    50000000=2.5гб - Это ЧТО ТАКОЕ?!
     
    #8 spider-intruder, 24 Dec 2009
    Last edited: 24 Dec 2009
  9. xss-faq

    xss-faq Banned

    Joined:
    28 Jun 2009
    Messages:
    0
    Likes Received:
    57
    Reputations:
    5
    50000000(Записей хешь+пасс)=2.5гб(пространство на кластере)
     
  10. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    Почему у меня получилось 1.9 а не 2.5 :)

    Если точнее то 1.811981201171875 тб
     
  11. xss-faq

    xss-faq Banned

    Joined:
    28 Jun 2009
    Messages:
    0
    Likes Received:
    57
    Reputations:
    5
    Я примерно привел размер. Ты не просил точно.
     
  12. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    Короче 6 символов при алфавите 75 = 5 ТБ. Брут 6 символову меня проходит за 2 минуты. Не вижу смысла хранить 6,7 символов в БД

    Думаю стоит начинать где-то с 10. Но ГДЕ ЭТО ХРАНИТЬ ))))
    Может архивировать это все?! Или распаковка будет занимать дольше времени чем сам перебор?! Есть идеи куда положить этот УГ ?!
     
  13. Lilo

    Lilo Banned

    Joined:
    10 Mar 2009
    Messages:
    462
    Likes Received:
    784
    Reputations:
    313
    ждать лет 5=)
     
  14. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    Через 5 лет алгоритмы сменят. Их уже пора давно сменить после выхода нанешних GPU.
     
  15. xss-faq

    xss-faq Banned

    Joined:
    28 Jun 2009
    Messages:
    0
    Likes Received:
    57
    Reputations:
    5
    Sypex Dumper, сам базу архивирует.
    Зачем распаковывать если можно открыть в блокноте и нажать поиск?
     
  16. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    Кого ты в блокноте откроешь?! 5 терабайтный файл? И это только для 6 символов(что не актуально впринципе).
    Для 10 символов файл (БД) будет занимать сотни терабайт. ТЫ их тоже в блокноте откроешь?! Не говоря уже о том где их хранить :)
     
    #16 spider-intruder, 24 Dec 2009
    Last edited: 24 Dec 2009
  17. xss-faq

    xss-faq Banned

    Joined:
    28 Jun 2009
    Messages:
    0
    Likes Received:
    57
    Reputations:
    5
    Хранить негде.
    Открыть нечем.
    Но можно для себя сделать до 4х символов БД eng, rus, eng+rus.
    Это около 30гб.
     
  18. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    У меня 4 символа сбрутится за 20 секунд :) Нафига занимать 30ГБ )

    Не я ж к тебе без притензий :) Просто открытая дискуссия.
     
  19. xss-faq

    xss-faq Banned

    Joined:
    28 Jun 2009
    Messages:
    0
    Likes Received:
    57
    Reputations:
    5
    У меня сутки, а у тебя 20 сек?
     
  20. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37