ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Помогите разгадать алгоритм.
  #1  
Старый 05.06.2009, 09:29
Аватар для hakerovchanen
hakerovchanen
Новичок
Регистрация: 04.06.2009
Сообщений: 3
Провел на форуме:
1354

Репутация: 0
Question Помогите разгадать алгоритм.

Уважаемые коллеги помогите расшифровать алгоритм генерации пароля.
Есть простенький сайт на Perl, на котором, зная пару логин и административный e-mail можно поменять пароль (он приходит на административный e-mail) Просто приходить письмо с новым паролем никакие подтверждения в письме нажимать не надо.
Пароль генерируется скорее всего с использованием Perl модуля Time::HiRes (количество секунд и микросекунд , начиная с 1 января 1970 г 00:00:00).Ни какой функции rand() скорее всего не применяется.
Те если бы удалось в идеале синхронизировать (до микросекунды)запуск скрипта смены пароля на тестовом логине и на интересующем логине то на тестовый ящик пришел бы такой же пароль как и на административный e-mail интересующего меня логина.
Пароль генерируется из 8 знаков. Используются только заглавные латинские буквы и цифры. Т.е. всего 36.Те надо выдавать “случайные” числа в диапозоне 0-35
Матрица соотношений скорее всего такая
0-0
1-1

9-9
10-A
11-В

35-Z

Алгоритм генерации первой буквы следующий:
Модуль модуля Time::HiRes выдает количество секунд и миллисекунд с начало эпохи
Реальный пример 1243815304.0XXXXX (в эту секунду было сгенерировано 2 пароля 42RGZWUF и 42RP5PE9)
Колличество секунд делим на 36.
1243815304/36=34550425,111111111
Целую часть умножаем на 36
34550425*36=1243815300

От начального значения отнимает то что перемножили, получаем число в диапозоне 0-35
В данном случаи 4
1243815304-1243815300=4
Код 4 соответствует числу 4 в пароле (по матрице соотношений)
4=4
Первый знак получается почти с точность 100% если знаешь время запуска скрипта.
Если получиться запустить тестовый скрипт и скрипт смены пароля ”жертвы”с точность до десятый доли секунды то совпадет 2я цифра если с точность до сотой доли то совпадет 3я цифра и все дольше ни как большую точность настроить не получается.
Алгоритм расчета 2го знака по аналогии не подходит.
Я думал что если помножить 1243815304.0XXXXX на 10 и взять целую честь и повторить все операции то получится 2я цифра но это не так.
12438153040/36=345504251,11111111111111111111111
345504251*36=12438153036
12438153040-12438153036=4
4=4 а нужно 2
Понятно что десятые, сотые, тысячный и т.д. вычисляться должны экспериментально (ведь время запуска на локальном компьютере и на сайте будут иметь разницу в десятых-сотых секунды.
). Те подставляем наиболее подходящее (от 0 до 9)в данном случаи лучший вариант для десятых это ноль.
Может кто-нибудь уже сталкивался с подобной проблемой или знает алгоритм ?
Или смог синхронизировать запуск скриптов с очень высокой тольность?
Нужно просто одновременно запустить 2 ссылки вида http://www.site-gde-nuzhno-uznat-parol.com/cgi-bin/pass?login=login&email=email@email.com
(Я просто засунул эти 2 линка в HTML фрем с 2 окнами. И открывал в браузере на локальной машине.)

Или как то по-другому можно решить это проблему?
Понятно, что можно перебором, но это очень долго(36^N). А зная алгоритм это всего 10^5 вариантов за месяц можно управиться.
 
Ответить с цитированием

  #2  
Старый 05.06.2009, 10:08
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

hakerovchanen Скорее всего, наверное, может быть - будете знать точно алгоритм, тогда приходите. Экстрасенсорные способности летом отключаются.

З.Ы, gdsgfagincvjskadnvuaisherknjxckvznrhbzxjdfkndskr - хэш пароля, наверное, как нибудь, что нибудь его декодирует
 
Ответить с цитированием

  #3  
Старый 05.06.2009, 11:02
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Колличество секунд делим на 36.
1243815304/36=34550425,111111111
Целую часть умножаем на 36
34550425*36=1243815300

От начального значения отнимает то что перемножили, получаем число в диапозоне 0-35
В данном случаи 4
1243815304-1243815300=4
Вообще-то, все эти махинации называются 1243815304 mod 36

+ По-моему, серверное время любезно присылается в заголовке Date, не?
 
Ответить с цитированием

  #4  
Старый 05.06.2009, 11:07
Аватар для LEE_ROY
LEE_ROY
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме:
1917742

Репутация: 541


По умолчанию

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

  #5  
Старый 05.06.2009, 23:50
Аватар для hakerovchanen
hakerovchanen
Новичок
Регистрация: 04.06.2009
Сообщений: 3
Провел на форуме:
1354

Репутация: 0
По умолчанию

Цитата:
Сообщение от astrologer  
Вообще-то, все эти махинации называются 1243815304 mod 36

+ По-моему, серверное время любезно присылается в заголовке Date, не?
Да присылается только в стандартном формате dd-mm-yy-hh-mm-ss.
Astrologer,У Вас в практике подобный алгоритм встречался? Или может где-нибудь есть класический алгоритм генерации пароля с помощью "часов"?
 
Ответить с цитированием

  #6  
Старый 05.06.2009, 23:53
Аватар для hakerovchanen
hakerovchanen
Новичок
Регистрация: 04.06.2009
Сообщений: 3
Провел на форуме:
1354

Репутация: 0
По умолчанию

Цитата:
Сообщение от LEE_ROY  
имхо локальный генератор нужно не одновременно запускать, а запускать раньше, но в коде добавить генерацию не одного пароля а списка, и вывод сделать: пароль - время с точностью до нужного, тоесть запускаете генератор и он генерит и выводит все что на генерил, потом обращаетесь к сайту, получаете пароль... и уже тогда парсите сгенеренный файл по нужному времени.. да и алго генерации уже реализовано в коде?
LEE_ROY,Да с синхронизацией похоже дохлый номер.
А вот интересно можно ли как то Аpach "замкнуть" что бы он вместо испольнения скрипта просто показал исходный код?
 
Ответить с цитированием

  #7  
Старый 06.06.2009, 00:32
Аватар для Doom123
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

Цитата:
Да присылается только в стандартном формате dd-mm-yy-hh-mm-ss.
http://il.php.net/manual/ru/function.mktime.php
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кроccворд (помогите разгадать) _==wolf==_ Болталка 9 13.05.2009 07:10
Специалисты X-Force взломали алгоритм шифрования Conficker.C PoN Мировые новости 1 21.04.2009 04:46
Исследователи из подразделения IBM X-Force взломали алгоритм шифрования Conficker.C RumShun Мировые новости 1 17.04.2009 09:51
Народ!!! Помогите НАМ!!! Помогите покончить с беспределом!!! Monah Чаты 7 24.08.2005 07:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ