Как известно программа поддерживает работу через коммандную строку, с помощью передачи параметров через конфигурационный файл (по умолчанию это PasswordsPro.ini) Вот интересует такой вопрос, есть ли (писал ли кто-нибудь) скрипт, который настраивает конфигурацию программы и запускает её через WEB? (php, perl) Если нет, то буду очень признателен, если кто поможет в создании данного сабжа. Т.е. нужна помощь в реализации клиент-сервер (Браузер <-> Сервер с PasswordsPro + php). Если прикрутить веб-интерфейс к програмее то это, имхо было бы очень даже удобно... Буду рад любой инфе по данной теме. Конечно в первую очередь вопрос адресован к автору PasswordsPro. т.е InsidePro.
т е ты хочешь через веб интерфейс запустить паспро и потом в бразуер вывести результат? если я тебя правильно понял, то такое впринципе сделать можно, но надо ли? помойму это у же извращение, хотя это только моё мнение Да и нагрузка на серв будет серьёзная Для каких целей ты хочешь это реализовать?
Да хочу клиент-сервер, на счёт нагрузки... смотря какая атака... Почему изврат? очень удобно... весь хлам, словари, радужные таблицы на сервере а не на моём компе - юзаю всё через веб, с любого компа... ЗЫ На passcracking.ru очередь хэшей прогоняется по таблицам явно не средствами интерпретируемого языка, а возможно именно через .ехе, хотя это мои догадки... Поставлю задачку в два этапа: 1. Управление настройками PasswordsPro + запуск/остановка. 2. Циклический брут по словарям и/или таблицам, некоторой динамической группы хэшей...
помойму проще удалённо подключится к серверу и там уже через терминал запускать, чем возиться с веб интерфейсом. я кроме как system() - другого выхода не вижу, но ты представь сколько оно будет выполнятся Может я конечно не прав, если что поправьте
Да к тому же тбе нужен будет не просто дедик, а дедик на котором админу будет всё равно почему это у него процесс жрёт больше половины оперативы
Т.е. чтоб управлять настройками программы, надо менять либо файлы конфигов, либо данные внутри одного файла конфига. Тут нужно описание PasswordsPro.ini или самим разобраться за что каждый из параметров отвечает... С результатами (имхо даже текущими тоже всё ясно) их можно брать из текстового файла Untitled.Hashes Т.е. посути работа web-скрипта сводится к операциям с двумя файлами + запуск/убивание процесса PasswordsPro.exe.
Предлагаяю начать с описалова файла конфигурации: например так: секция: [common] параметр mode= 32817 - предварительная атака [Bin:1000000000110001] 32818 - атака полным перебором [Bin:1000000000110010] 32819 - атака по маске 32820 - простая атака по словарям 32821 - комбинированная атака по словарям 32822 - гибридная атака по словарям 32823 - атака по Rainbow Tables т.е. как видим под тип Атаки отводится не менее 3 бит в параметре modе. Кстате более старшие биты вообще меняются? Если та, то в каком случае? Гляньте плиз свои PasswordsPro.ini
Помогите пропарсить файл Untitled.Hashes как известно туда программа складывает пароли к найденным хэшам. Результат пишем в массив или файл, парсим только найденные пароли и хэши от них... Пароль обрамляется двумя символами 7f с обоих сторон, т.е. 7f 7f p a s s 7f 7f слева от него хэш до 7f - (после этого символа начало хэша) Если пароль не найден то между ними пусто, т.е 7f 7f 7f 7f
Ну что никто с регуляркой не поможет? PHP: <?php $fd=fopen("./passpro/Untitled.Hashes", "r"); if(!$fd) { return "File Untitled.Hashes not found"; } else { $pattern = 'регулярка'; while(!feof($fd)) { $subject=fgets($fd); echo $subject; preg_match($pattern, $subject, $matches); echo $matches; } } fclose($fd); ?>
Вот вытаскивает хэши МД5 из файла PHP: <?php $fd=fopen("./passpro/Untitled.Hashes", "r"); if(!$fd) { return "File Untitled.Hashes not found"; } else { $pattern = '([0-9A-Fa-f]{32})'; while(!feof($fd)) { $subject=fgets($fd); // echo $subject; preg_match_all($pattern, $subject, $matches); echo $matches[0][0]."<br>"; } } fclose($fd); ?> А мне нужно только те, где пассы найдены...
обрамлён парой символов 7f (hex) 127 (dec) c обоих сторон, т.е. 7f 7f p a s s 7f 7f левее хэш, признак конца хэша тоже 7f (или начала, если справа налево считать)
Вроде так.... preg_match_all(/(.*)\x7f\x7f(.*)\x7f\x7f/,$file,$matches); $passes=matches[1][1]; $hashes=matches[1][0];
$pattern = '/(.*)\x7f\x7f(.*)\x7f\x7f/'; Выводит всё! где между x7f\x7f(пусто)\x7f т.е нет ни одного символа, то нужно пропустить!
<?php $pattern = '/^7f 7f(.+)7f 7f/m'; // echo $subject; preg_match_all($pattern, '7f 7f p a s s 7f 7f слева от него хэш до 7f', $matches); echo $matches[1][0]."<br>"; ?> попробуй. "+" - означает один и больше символов, если что стучи в асю
с плюсом заработало! PHP: <?php $fd=fopen("./passpro/Untitled.Hashes", "r"); if(!$fd) { return "File Untitled.Hashes not found"; } else { $pattern = '/(.*)\x7f\x7f(.+)\x7f\x7f/'; while(!feof($fd)) { $subject=fgets($fd); // echo $subject; preg_match_all($pattern, $subject, $matches); echo $matches[0][0]."<br>"; } } fclose($fd); ?> Вот вывод: теперь бы это в массив нормальный (или в файл) в формате hash : pass