
25.11.2007, 18:44
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
С нами:
9965892
Репутация:
677
|
|
рабочий пример, правда не на пхп
Код:
#!perl -w
use strict;
use LWP::UserAgent;
my $forumurl= 'http://forum.antichat.ru/';
my $user = 'C!klodoL';
my $pass = 'loool';
my $useragent = LWP::UserAgent->new( agent => 'Opera/9.24' );
my $request = $useragent->post( $forumurl.'login.php', [
vb_login_username => $user,
vb_login_password => $pass,
cookieuser => 1,
do => 'login',
forceredirect => 1 ],
Referer => $forumurl );
open (my $file, '>log.html');
print $file $request->as_string;
close $file;
#поправил код в более тру стайлз по совету demonoid ))
Код:
"POST $host/login.php?vb_login_username=$login&vb_login_password=$pass&cookieuser=1&s=&do=login&forceredirect=1&vb_login_md5password=".md5($pass)." HTTP/1.1\r\n");
пост запросы нужно передавать не как урл, а в теле запроса
Последний раз редактировалось C!klodoL; 25.11.2007 в 19:26..
|
|
|

25.11.2007, 18:56
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
С нами:
9965892
Репутация:
677
|
|
$postdata = 'vb_login_username=C!klodoL&vb_login_password=bN48 xc&cookieuser=1&s=&do=login&forceredirect=1&vb_log in_md5password=';
...
"Content-Length: ".length($postdata)."\r\n";
...
"Connection: close\r\n\r\n$postdata";
|
|
|

25.11.2007, 19:14
|
|
Гарант Форума
Регистрация: 22.01.2005
Сообщений: 267
С нами:
11209466
Репутация:
1067
|
|
всем спасибо за советы. разобрался - проснифал пакеты, загвоздка заключалась в том, что помимо логина, пасса, пасса в мд5, надо было передавать еще пасс в utf и в md5
PHP код:
$host = "somehost.su";
$login = ".::Gh0st::.";
$pass = "password";
$url_login = urlencode($login);
$md5_pass = md5($pass);
$params = "vb_login_username=$url_login&vb_login_password=&s=&do=login&vb_login_md5password=$md5_pass&vb_login_md5password_utf=$md5_pass";
$length = strlen($params);
$request = "POST http://$host/login.php HTTP/1.0\r\n";
$request .= "Referer: http://$host\r\n";
$request .= "Accept-Language: ru\r\n";
$request .= "Content-Type: application/x-www-form-urlencoded\r\n";
$request .= "Proxy-Connection: Keep-Alive\r\n";
$request .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.10 (build 01952); .NET CLR 2.0.50727; InfoPath.1)\r\n";
$request .= "Host: $host\r\n";
$request .= "Content-Length: $length\r\n";
$request .= "Pragma: no-cache\r\n\r\n";
$request .= "$params\r\n";
$sock = fsockopen($host, 80, $errno, $errstr, 10);
stream_set_timeout($sock, 30);
fputs($sock, $request);
while(!feof($sock))
{$page .= fgets($sock);}
fclose($sock);
echo $page;
Последний раз редактировалось .::Gh0st::.; 25.11.2007 в 19:27..
|
|
|

25.11.2007, 19:40
|
|
Участник форума
Регистрация: 06.03.2007
Сообщений: 283
С нами:
10096166
Репутация:
120
|
|
а в скрипт который в #13 посту пароль надо в писывать обычный или сначала перевести его в md5 апотом в писать?
|
|
|

25.11.2007, 19:46
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
С нами:
9965892
Репутация:
677
|
|
$md5_pass = md5($pass); как видим скрипт сам мд5 пароля делает, следовательно обычный
|
|
|

25.11.2007, 20:26
|
|
Гарант Форума
Регистрация: 22.01.2005
Сообщений: 267
С нами:
11209466
Репутация:
1067
|
|
xaker-boss
в md5, можешь еще перевод в utf сделать, на случай символов другой кодировки
хотя прежде чем логиниться таким образом - проснифай заголовки и посмотри, какие данные обязательны
2all
теперь появилась необходимость использовать запрос с cookie
cookie я получаю от форума. каким образом можно перехватить cookie от форума, чтобы потом вставить в запрос?
PHP код:
$request .= "Cookie: $cookie\r\n";
Последний раз редактировалось .::Gh0st::.; 25.11.2007 в 20:36..
|
|
|

25.11.2007, 20:54
|
|
Участник форума
Регистрация: 06.03.2007
Сообщений: 283
С нами:
10096166
Репутация:
120
|
|
А как сделать чтобы он залогинелся, и перешол на главную страницу форума?
а то у меня вот какая байда получается:
www.forum-mp3.org/1221.php
|
|
|

28.11.2007, 10:16
|
|
Тут может быть ваша реклама.
Регистрация: 30.07.2005
Сообщений: 1,243
С нами:
10937126
Репутация:
1316
|
|
md5 формируется javascript скриптом, и использовать его необязательно, т.к. не у всех юзеров включен javascript.
>>cookie я получаю от форума. каким образом можно перехватить cookie от форума, чтобы потом вставить в запрос?
Куки посылаются заголовком сервера..
Сам заголовок от тела отделяется через \r\n\r\n.
Каждая строка отделяется через \r\n.
Перебирай так каждую строку на начало Set-Cookie:
Ну если делать нех, то можно регуляркой.
|
|
|

28.11.2007, 17:28
|
|
Гарант Форума
Регистрация: 22.01.2005
Сообщений: 267
С нами:
11209466
Репутация:
1067
|
|
в общем чтобы выполнить запрос мне надо передавать куку вида:
Cookie: OAID=79042d39782b8b5911990615cd1c80e9; __utma=148500711.973123518.1196002583.1196002583.1 196004931.2; __utmb=148500711; __utmz=148500711.1196002583.1.1.utmccn=(direct)|ut mcsr=(direct)|utmcmd=(none); key=anti-doss; hotlog=1; __utmc=148500711; bbsessionhash=d72945a3bf48d03a8f24a707fc998941; bblastvisit=1196006017; bblastactivity=0
проблема заключается в том, что когда я логинлюсь на форум в заголовке я получаю только
- bblastactivity
- bblastvisit
- bbsessionhash
- key
то есть всего 4 параметра (+-1)
можно конечно выдирать значения из браузерного фолдера для кукисов, но такая работа скрипта будет неуместной
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Взлом беспроводных сетей
|
halkfild |
Беспроводные технологии/Wi-Fi/Wardriving |
28 |
28.03.2010 22:35 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|