Передача параметров в адресную строку

Ответить
Аватара пользователя
DaRiYs

Передача параметров в адресную строку

Сообщение DaRiYs »

Вопрос такой. Скажем есть скрипт регистрации на сайте и он имет вид типа
www.site.com/registration.php?user=имя
_пользователя&password=пароль.

Какие функции PHP нада использовать чтоб из скрипта который имеет переменную с паролем $pass и логином $user можно било вставить их в командную строку и залогинится автоматом,

а также как запарсить пару строк из страници которая откроется после регистрации чтоб можно было написать код который проверяет правильно ли я залогинился?
Аватара пользователя
Coutty

Re: Передача параметров в адресную строку

Сообщение Coutty »

Полагаю, вам нужен переборщик паролей?

Где-то у меня был. Сейчас погляжу.



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

Код: Выделить всё

<?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'а заголовок покороче.
Аватара пользователя
Coutty

Re: Передача параметров в адресную строку

Сообщение Coutty »

Sham, никто от этого ещё не умирал.
Ответить

Вернуться в «Вебмастеру»