Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
[Delphi] Авторизация ВКонтакте |

22.12.2009, 12:38
|
|
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме: 134032
Репутация:
3
|
|
[Delphi] Авторизация ВКонтакте
Всем, привет) вот возник вопрос по авторизации вконтакте. Написал я пост запрос на авторизацию, вроде как) смотрю через снифер ->
Первый пост запрос:
post = op=a_login_attempt
url = http://vkontakte.ru/login.php
он проходит вроде нормально..по сниферу смарел получает он vklogin, по-моему так и должно быть!
Второй пост запрос:
post = act=login
post = success_url=
post = fail_url=
post = try_to_login=1
post = to=
post = vk=
post = email= + email
post = pass= + pass
url = http://login.vk.com/
этот вроде бы тоже не особо жалуется, и проходит нормально возвращает, что то типа этого:
Код:
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=windows-1251' />
</head>
<body onload="document.getElementById('l').submit();">
<form id='l' method='post' action='http://vkontakte.ru/login.php'>
<input type='hidden' name='op' id='op' value='slogin' />
<input type='hidden' name='redirect' id='redirect' value='1' />
<input type='hidden' name='expire' id='expire' value='0' />
<input type='hidden' name='to' id='to' value='' />
<input type='hidden' name='s' id='s' value='Cookie' />
</form>
</body>
</html>
Вместо слова Cookie конечно же возвращает куки...
теперь я их копирую, тоже вроде бы нормально копирую...без проблем всё..
Третий пост запрос:
post = op=slogin
post = redirect=1
post = expire=0
post = to=
post = s='+Cookie(<- это скопированные куки)
url = http://vkontakte.ru/login.php
И вот с этого момента, снифер мне начинает возвращать страницу типа ->
/login.php?u=1to=cHJvZmlsZS5waHA-
Вот такое выдаёт снифер, скрин:
Кто знает с чего он себя так начинает вести? 
Последний раз редактировалось Kandi; 22.12.2009 в 12:43..
|
|
|

22.12.2009, 12:42
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
cHJvZmlsZS5waHA = profile.php (base64)
__________________
 
snow white world wide
|
|
|

22.12.2009, 12:43
|
|
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме: 134032
Репутация:
3
|
|
Сообщение от sn0w
cHJvZmlsZS5waHA = profile.php (base64)
а чуть по русский можно? 
|
|
|

22.12.2009, 12:45
|
|
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме: 134032
Репутация:
3
|
|
Понял) это кодировка base64
cHJvZmlsZS5waHA это и есть profile.php ???
Верно?)
Если да, тогда расскажи, что делать ? 
как с этим бороться!?
|
|
|

22.12.2009, 12:45
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме: 1702086
Репутация:
89
|
|
Редирект на profile.php = удачная авторизация.
|
|
|

22.12.2009, 12:47
|
|
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме: 134032
Репутация:
3
|
|
Сообщение от Пуховой
Редирект на profile.php = удачная авторизация.
Код:
var
.....
Http : TidHttp;
....
begin
try
Http.HandleRedirects := true;
он как бе в true)
ил надо делать ручками редирект?!
|
|
|

22.12.2009, 12:52
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме: 1702086
Репутация:
89
|
|
А вообще, немного иначе.
1 запрос
op=a_login_attempt
-> http://vk.com/login.php
2 запрос
email=
pass=
expire=
vk=1
-> http://login.vk.com/?act=login
3 запрос
op=slogin
redirect=1
expire=0
to=
s={переменная s из ответа}
-> http://vk.com/login.php
При удачной авторизации, код ответа от сервера будет 302, и редирект на profile.php.
handleredirects лучше остановить в false - проще отловить результат авторизации.
|
|
|

22.12.2009, 12:56
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
я бы парсер сделал сразу с учетом того что гдето басе64 юзается, расшифровщик басе64 вообще понты весит.
но тут сценарий просто отсмотри, расшифруй все похожие редиректы и юзай.
а может их вообще не надо декодить и в таком виде и льется. по снифферу удали запросы не потеме и посмотри сценарий.
__________________
 
snow white world wide
|
|
|

22.12.2009, 13:16
|
|
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме: 134032
Репутация:
3
|
|
Сообщение от sn0w
я бы парсер сделал сразу с учетом того что гдето басе64 юзается, расшифровщик басе64 вообще понты весит.
но тут сценарий просто отсмотри, расшифруй все похожие редиректы и юзай.
а может их вообще не надо декодить и в таком виде и льется. по снифферу удали запросы не потеме и посмотри сценарий.
да мне сначало бы сделать просто без басе64, а там буду совершенствовать.... дело в том, что в 3 пост запросе у меня идёт вроде всё нормально возвращает вот что:
Код:
HTTP/1.1 302 Found
Server: nginx/0.7.59
Date: Tue, 22 Dec 2009 09:04:32 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.2.6-1+lenny3
Set-Cookie: remixlang=3; expires=Wed, 22-Dec-2010 09:04:32 GMT; path=/; domain=.vk.com
Pragma: no-cache
Cache-control: no-store
Set-Cookie: remixchk=5; expires=Tue, 28-Dec-2010 11:04:49 GMT; path=/; domain=.vk.com
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: remixsid=Cookie; expires=Wed, 22-Dec-2010 09:04:32 GMT; path=/; domain=.vk.com
Location: profile.php
Vary: Accept-Encoding
Content-Length: 0
а потом пост делаю на profile.php и тут вылетает redirectURL - /login.php?u=1&to=cHJvZmlsZS5waHA-
(в снифере)
хз че за трабла 
|
|
|

22.12.2009, 13:34
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме: 1702086
Репутация:
89
|
|
Код:
function test_log_vk (name, pass : string) : string;
var
http : Tidhttp;
s : string;
post : Tstringlist;
coo : Tidcookiemanager;
compressor : tidCompressorZLib;
begin
coo := Tidcookiemanager.Create;
http := Tidhttp.Create; http.ReadTimeout := 60000; http.AllowCookies := true; http.HandleRedirects := false; http.CookieManager := coo; http.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'; http.Request.AcceptEncoding := 'gzip,deflate';
compressor := tIdCompressorZLib.Create; http.Compressor := compressor;
post := Tstringlist.Create;
http.get ('http://vk.com');
post.add ('op=a_login_attempt');
http.post ('http://vk.com/login.php', post);
post.Clear;
post.add ('email=' + name);
post.add ('pass=' + pass);
post.add ('expire=');
post.add ('vk=1');
s := http.post ('http://login.vk.com/?act=login', post);
post.Clear;
post.Add ('op=slogin');
post.Add ('redirect=1');
post.Add ('expire=0');
post.Add ('to=');
post.Add ('s=' + copy (s, 536, 56));
try
http.post ('http://vk.com/login.php', post);
except end;
if http.Response.Location = 'profile.php' then Result := 'remixsid=' + copy (s, 536, 56) else result := 'false';
http.Free; coo.Free; post.Free; compressor.Free;
end;
Код от руки писаный, но работает. Возвращает remixsid из кукисов (для авторизации больше ничего и не нужно).
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Рабочий фейк + блокиратор вконтакте. Внутренняя авторизация.
|
TweakeR |
Покупка, продажа, услуги в Соц. Сетях |
7 |
22.12.2009 12:57 |
|
Авторизация вконтакте
|
Isis |
PHP, PERL, MySQL, JavaScript |
6 |
17.12.2009 20:18 |
|
Авторизация вконтакте.
|
yfet |
С/С++, C#, Delphi, .NET, Asm |
10 |
03.12.2009 18:23 |
|
Авторизация вконтакте
|
alenushka |
С/С++, C#, Delphi, .NET, Asm |
7 |
12.11.2009 09:19 |
|
Авторизация Вконтакте
|
cren |
PHP, PERL, MySQL, JavaScript |
5 |
07.10.2009 00:56 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|