![]() |
Эмуляция многопоточности в php на основе брутера Tak.ru
Эмуляция многопоточности в php на основе брутера Tak.ru
Теория Часто возникают ситуации когда требуется быстро обработать информацию. Допустим, при работе с несколькими десятками,сотнями файлов. Скорость выполнения программы можно значительно ускорить, если выполнять их в несколько потоков. В PHP нет возможности организовать реальную многопоточность, но ее можно сделать если извернуться. Эмуляция многопоточности Как пример возьмем привычную задачу – брут. Работать будем с сокетами . Многопоточность “симулируюм” с помощью пула не блокирующих сокетов. Брутить будем пароли от учетных записей Tak.ru. Комменты и обьяснения в самом скрипте. Ответ скрипта на правильную пару login+pass “302 Found”(этого нам достаточно).Для работы скрипта создадим файл logins.txt с логинами в той же категории. Максимальное число потоков не рекомендую ставить слишком большим. PHP код:
Чтоб приступить к бруту нужны базы логинов. Если просто в logins.txt вписать какую нибудь базу логинов то работать все же будет но это будет неудобно,больше ненужных запросов т.е трафика и времени поэтому в приложении выкладываю скрипт для отсеивания логинов. Для работы скрипта создаем файл logins.txt с базой логингов. После завершения работы скрипта зарегистрированные логины отсеются в файл regger_logins.txt PHP код:
Почему я подбираю логины к паролю а не наоборот? При восстановлении пароля tak.ru высылает свой пароль из 7 символов содержащих цифры и буквы латинского алфавита(нижние регистры), это увеличивает вероятность(шанс) на подбор. Скрипт полностью работоспособный, писал сам. Базу логинов можно скачать отсюда http://slil.ru/25776569 700К логинов(за базы спасибо AdReNa1!Ne). Целью моей работы было показать один из способов увеличения скорости работы в PHP. (судить не строго моя первая сатья) |
Ох. Сейчас опять начнется хоули варз... :)
Имхо. Что-то похожее было. Не помню к чему тогда пришли дебаты. Думаю что это все-равно будет в раз медленнее. Код:
$sockets[$curr] = fsockopen("web.tak.ru",80);Особо в код не вчитывался, как понял вначале отсылаем посты, потом получаем. Опять же, если где-то заступорит, то вся "многопоточность" здохнет. :'( |
Цитата:
|
Цитата:
Если надо будет читать полностью то PHP код:
|
Заступорить может при чтении ответа из сокета или при конверте dns в ip. (Уж не знаю, есть ли там встроенное кеширование)
Например тут fgets($sockets[$key],50); |
Цитата:
|
отстой а не статья:(!в моа рвемся???
---------- Показал бы обход капч:(, или реггер какой нить, или свой суперпупер мега эксплойт показал бы:( - скучно, мне жаль тебя:( |
Так-с... Я вот что подумал...
А что, если собрать недетерминированный аппарат, то есть - создаём скрипт, ну, к примеру перебрающий пассы от 1 до n. А он пишет 2 файла, перебирающие от 1 до [n/2] и от [n/2]+1 до n и вызывает их, и т.д.... вот вам и многопоточность - в итоге за каждые m пассов бкдет отвечать одн файл, а все они запущены... |
очень старая тема, на ачате уже подобная статья была. Неблокирующие сокеты это не многопоточность, а лишь подобие.
Цитата:
|
| Время: 14:58 |