Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Передача параметров в адресную строку (http://forum.oszone.net/showthread.php?t=109973)

DaRiYs 25-06-2008 21:03 834969

Передача параметров в адресную строку
 
Вопрос такой. Скажем есть скрипт регистрации на сайте и он имет вид типа www.site.com/registration.php?user=имя _пользователя&password=пароль.
Какие функции PHP нада использовать чтоб из скрипта который имеет переменную с паролем $pass и логином $user можно било вставить их в командную строку и залогинится автоматом,
а также как запарсить пару строк из страници которая откроется после регистрации чтоб можно было написать код который проверяет правильно ли я залогинился?

Coutty 25-06-2008 21:53 834994

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

Вот пример (кое-что я поменял в параметрах, но не суть):
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'а заголовок покороче.

Sham 26-06-2008 00:57 835169

хакеры етм...

Coutty 26-06-2008 07:20 835244

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

Sham 27-06-2008 01:52 836058

Coutty, своей смертью - да :)


Время: 08:08.

Время: 08:08.
© OSzone.net 2001-