ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[Delphi] Авторизация ВКонтакте
  #1  
Старый 22.12.2009, 12:38
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме:
134032

Репутация: 3
Отправить сообщение для Kandi с помощью ICQ
Question [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..
 
Ответить с цитированием

  #2  
Старый 22.12.2009, 12:42
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

cHJvZmlsZS5waHA = profile.php (base64)
__________________


snow white world wide
 
Ответить с цитированием

  #3  
Старый 22.12.2009, 12:43
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме:
134032

Репутация: 3
Отправить сообщение для Kandi с помощью ICQ
По умолчанию

Цитата:
Сообщение от sn0w  
cHJvZmlsZS5waHA = profile.php (base64)
а чуть по русский можно?
 
Ответить с цитированием

  #4  
Старый 22.12.2009, 12:45
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме:
134032

Репутация: 3
Отправить сообщение для Kandi с помощью ICQ
По умолчанию

Понял) это кодировка base64
cHJvZmlsZS5waHA это и есть profile.php ???
Верно?)
Если да, тогда расскажи, что делать ?
как с этим бороться!?
 
Ответить с цитированием

  #5  
Старый 22.12.2009, 12:45
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

Репутация: 89
По умолчанию

Редирект на profile.php = удачная авторизация.
 
Ответить с цитированием

  #6  
Старый 22.12.2009, 12:47
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме:
134032

Репутация: 3
Отправить сообщение для Kandi с помощью ICQ
По умолчанию

Цитата:
Сообщение от Пуховой  
Редирект на profile.php = удачная авторизация.
Код:
var
  .....
  Http  : TidHttp;
  ....
begin
 try
    Http.HandleRedirects := true;
он как бе в true)
ил надо делать ручками редирект?!
 
Ответить с цитированием

  #7  
Старый 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 - проще отловить результат авторизации.
 
Ответить с цитированием

  #8  
Старый 22.12.2009, 12:56
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

я бы парсер сделал сразу с учетом того что гдето басе64 юзается, расшифровщик басе64 вообще понты весит.

но тут сценарий просто отсмотри, расшифруй все похожие редиректы и юзай.
а может их вообще не надо декодить и в таком виде и льется. по снифферу удали запросы не потеме и посмотри сценарий.
__________________


snow white world wide
 
Ответить с цитированием

  #9  
Старый 22.12.2009, 13:16
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
Провел на форуме:
134032

Репутация: 3
Отправить сообщение для Kandi с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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-
(в снифере)
хз че за трабла
 
Ответить с цитированием

  #10  
Старый 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)
 


Быстрый переход




ANTICHAT.XYZ