HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4091  
Старый 14.08.2009, 12:40
Seregakz
Познающий
Регистрация: 13.06.2009
Сообщений: 32
Провел на форуме:
42683

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

Цитата:
Сообщение от dos999  
вообще не приходит или приходит но кривой?
попробуй Content-Type изменить на
HttpSendRequest(hResourceHandle, 'Content-Type: application/vnd', 47, szData, lstrlen(szData));
да не приходит ибо отправляю таким методом, а этот метод ток тект отпрвляет) а бинарники никак:

PHP код:
procedure send(file:String);
var
szBuf: array [0..6000000of Char;
begin

            ZeroMemory
(@szBufSizeOf(szBuf)); 
            
lstrcpy(szBufPChar('file='));
            
lstrcat(szBuf, ((GetFileData(PChar(file)))));
            
SendPOSTData(Host,
              
Path,
                
szBuf);

end
 
Ответить с цитированием

  #4092  
Старый 14.08.2009, 13:07
WereWolfV
Новичок
Регистрация: 17.04.2009
Сообщений: 3
Провел на форуме:
54942

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

Всем привет. Пробую писать свой HTTP клиент на сокетах. Тестить решил на mail.ru, страницу принимает, POST запрос отправляет. Но на попытку авторизации выдает страницу 302. Снифал все со своего браузера (Opera 9.64) заголовки запросов списал с него. POST запросы у программы и браузера идентичные, но через браузер авторизируется, а через прогу получаю страницу 302.
Алгоритм тестирования: отправляю GET запрос на главную страницу mail.ru, получаю куки, вставляю эти куки в POST запрос с логином и паролем, отсылаю его. (куки полученые после GET вставляю вручную через TEdit)
Помогите, кто знает из-за чего не идет авторизация.
Вот код:
Код:
type
  THTTPClientForm = class(TForm)
    Memo1: TMemo;
    Label1: TLabel;
    URL: TLabel;
    EdURL: TEdit;
    Button1: TButton;
    Edit3: TEdit;
    Label4: TLabel;
    Memo2: TMemo;
    EditMpopl: TEdit;
    EditMrcu: TEdit;
    procedure Button1Click(Sender: TObject);
    Function GetWEBpage(addr:string; Method:integer):TStringList;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure EdURLKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  HTTPClientForm: THTTPClientForm;
  SendBuff:string;
  POST:string;

implementation

uses unit2;

{$R *.dfm}

procedure THTTPClientForm.Button1Click(Sender: TObject);
begin
Memo1.Lines.Assign(GetWebPage(edURL.text, StrToInt(Edit3.Text)));
end;

Function THTTPClientForm.GetWEBPage;
var
  localaddr : sockaddr_in;
  iMode, iSize:integer;
  rfds: TFDSET;
  Buff: array [0..1024] of char;
  stClient:TSocket;
  testingserver, servername, portname:string;
  timeout:TTimeVal;
begin

  Result:=TStringList.Create;

  stClient:=socket(AF_INET, SOCK_STREAM, 0);
  if stClient=INVALID_SOCKET then
    begin
      messageBox(0, 'Ошибка инициализации сокета', 'Error', MB_OK);
      exit;
    end;

      ServerName:='mail.ru';
      PortName:='80';

localaddr.sin_addr:=LookUpName(servername);
localaddr.sin_family:=AF_INET;
localaddr.sin_port:=htons(StrToIntDef(portname, 80));

if connect(stClient, @localaddr, sizeof(localaddr))<>0 then
  begin
    messageBox(0, 'Ошибка соединения', 'Error', MB_OK);
    exit;
  end;

  SendBuff:='';

  if method=1 then
     SendBuff:=
    'GET / HTTP/1.1'#13+
    'User-Agent: Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1'#13+
    'Host: www.mail.ru'#13+
    'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'#13+
    'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'#13+
    'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'#13+
    'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'#13+
    'If-Modified-Since: Fri, 14 Aug 2009 11:18:57 GMT'#13+
    'Connection: Keep-Alive, TE'#13+
    'TE: deflate, gzip, chunked, identity, trailers'#13#13;

  if method=2 then
    begin
      POST:='Login=UserLogin+&Domain=mail.ru&Password=UserPassword';
      SendBuff:=
      'POST /cgi-bin/auth HTTP/1.1'#13+
      'User-Agent: Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1'#13+
      'Host: win.mail.ru'#13+
      'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'#13+
      'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'#13+
      'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'#13+
      'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'#13+
      'Referer: http://www.mail.ru/'#13+
      'Cookie: Mpopl='+EditMpopl.Text+'; mrcu='+EditMrcu.Text+';'#13+
      'Cookie2: $Version=1'#13+
      'Connection: Keep-Alive, TE'#13+
      'TE: deflate, gzip, chunked, identity, trailers'#13+
      'Content-Length: '+IntToStr(Length(POST))+#13+
      'Content-Type: application/x-www-form-urlencoded'#13#13+POST;
    end;

    Memo2.Lines.Clear;
    Memo2.Lines.Add(SendBuff);
    SendStr(stClient,SendBuff);

iMode:=1;
setsockopt(stClient, IPPROTO_TCP, TCP_NODELAY, @iMode, sizeof(integer));

  while true do
    begin
      FD_ZERO(rfds);
      FD_SET(stClient, rfds);

      timeout.tv_sec:=10;
      if (select(0, @rfds, nil, nil, @timeout)<=0) then
        exit;

      if (FD_ISSET(stClient, rfds)) then
        begin
          iSize:=recv(stClient, buff, sizeof(buff), 0);
          if (iSize<1) then
           break;
           Result.Add(String(buff));
        end;
    end;
      CloseSocket(stClient);
end;

procedure THTTPClientForm.FormCreate(Sender: TObject);
var SockInit:TWSADATA;
begin
WSAStartUp(makeword(2,0), SockInit)
end;

Последний раз редактировалось WereWolfV; 14.08.2009 в 13:10..
 
Ответить с цитированием

  #4093  
Старый 14.08.2009, 13:20
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от WereWolfV  
Всем привет. Пробую писать свой HTTP клиент на сокетах. Тестить решил на mail.ru, страницу принимает, POST запрос отправляет. Но на попытку авторизации выдает страницу 302. Снифал все со своего браузера (Opera 9.64) заголовки запросов списал с него. POST запросы у программы и браузера идентичные, но через браузер авторизируется, а через прогу получаю страницу 302.
Алгоритм тестирования: отправляю GET запрос на главную страницу mail.ru, получаю куки, вставляю эти куки в POST запрос с логином и паролем, отсылаю его. (куки полученые после GET вставляю вручную через TEdit)
Помогите, кто знает из-за чего не идет авторизация.
Вот код:
Код:
type
  THTTPClientForm = class(TForm)
    Memo1: TMemo;
    Label1: TLabel;
    URL: TLabel;
    EdURL: TEdit;
    Button1: TButton;
    Edit3: TEdit;
    Label4: TLabel;
    Memo2: TMemo;
    EditMpopl: TEdit;
    EditMrcu: TEdit;
    procedure Button1Click(Sender: TObject);
    Function GetWEBpage(addr:string; Method:integer):TStringList;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure EdURLKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  HTTPClientForm: THTTPClientForm;
  SendBuff:string;
  POST:string;

implementation

uses unit2;

{$R *.dfm}

procedure THTTPClientForm.Button1Click(Sender: TObject);
begin
Memo1.Lines.Assign(GetWebPage(edURL.text, StrToInt(Edit3.Text)));
end;

Function THTTPClientForm.GetWEBPage;
var
  localaddr : sockaddr_in;
  iMode, iSize:integer;
  rfds: TFDSET;
  Buff: array [0..1024] of char;
  stClient:TSocket;
  testingserver, servername, portname:string;
  timeout:TTimeVal;
begin

  Result:=TStringList.Create;

  stClient:=socket(AF_INET, SOCK_STREAM, 0);
  if stClient=INVALID_SOCKET then
    begin
      messageBox(0, 'Ошибка инициализации сокета', 'Error', MB_OK);
      exit;
    end;

      ServerName:='mail.ru';
      PortName:='80';

localaddr.sin_addr:=LookUpName(servername);
localaddr.sin_family:=AF_INET;
localaddr.sin_port:=htons(StrToIntDef(portname, 80));

if connect(stClient, @localaddr, sizeof(localaddr))<>0 then
  begin
    messageBox(0, 'Ошибка соединения', 'Error', MB_OK);
    exit;
  end;

  SendBuff:='';

  if method=1 then
     SendBuff:=
    'GET / HTTP/1.1'#13+
    'User-Agent: Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1'#13+
    'Host: www.mail.ru'#13+
    'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'#13+
    'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'#13+
    'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'#13+
    'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'#13+
    'If-Modified-Since: Fri, 14 Aug 2009 11:18:57 GMT'#13+
    'Connection: Keep-Alive, TE'#13+
    'TE: deflate, gzip, chunked, identity, trailers'#13#13;

  if method=2 then
    begin
      POST:='Login=UserLogin+&Domain=mail.ru&Password=UserPassword';
      SendBuff:=
      'POST /cgi-bin/auth HTTP/1.1'#13+
      'User-Agent: Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1'#13+
      'Host: win.mail.ru'#13+
      'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'#13+
      'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'#13+
      'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'#13+
      'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'#13+
      'Referer: http://www.mail.ru/'#13+
      'Cookie: Mpopl='+EditMpopl.Text+'; mrcu='+EditMrcu.Text+';'#13+
      'Cookie2: $Version=1'#13+
      'Connection: Keep-Alive, TE'#13+
      'TE: deflate, gzip, chunked, identity, trailers'#13+
      'Content-Length: '+IntToStr(Length(POST))+#13+
      'Content-Type: application/x-www-form-urlencoded'#13#13+POST;
    end;

    Memo2.Lines.Clear;
    Memo2.Lines.Add(SendBuff);
    SendStr(stClient,SendBuff);

iMode:=1;
setsockopt(stClient, IPPROTO_TCP, TCP_NODELAY, @iMode, sizeof(integer));

  while true do
    begin
      FD_ZERO(rfds);
      FD_SET(stClient, rfds);

      timeout.tv_sec:=10;
      if (select(0, @rfds, nil, nil, @timeout)<=0) then
        exit;

      if (FD_ISSET(stClient, rfds)) then
        begin
          iSize:=recv(stClient, buff, sizeof(buff), 0);
          if (iSize<1) then
           break;
           Result.Add(String(buff));
        end;
    end;
      CloseSocket(stClient);
end;

procedure THTTPClientForm.FormCreate(Sender: TObject);
var SockInit:TWSADATA;
begin
WSAStartUp(makeword(2,0), SockInit)
end;
Хз как там в дельфях, но 302 это редирект, маилру после авторизации редиректит... Так что походу все ок
 
Ответить с цитированием

  #4094  
Старый 14.08.2009, 13:28
WereWolfV
Новичок
Регистрация: 17.04.2009
Сообщений: 3
Провел на форуме:
54942

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

забыл написать, редиректит на http://win.mail.ru/cgi-bin/auth а при правильной авторизации должно на что-то подобное http://win.mail.ru/cgi-bin/checkcookie?id=4f06025a64445b73190502199a1d00071c0 c014f6a5d5e465e07070802051e0b03031e4e5c4a54475e5b5 341145c555e551f4243
и после на страницу пользователя.
 
Ответить с цитированием

  #4095  
Старый 14.08.2009, 22:12
sadfeel
Познающий
Регистрация: 05.11.2008
Сообщений: 79
Провел на форуме:
185461

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

Как найти вложение текста в строке не учитывая регистр..? Делал через Pos но там регистр учитывается. помогите плиз. Работаю в дeлфи
 
Ответить с цитированием

  #4096  
Старый 14.08.2009, 22:29
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

s, s1: string;
begin
s:='ТекстТут';
s1:=LowerCase(s); //тесттут

вот и все...
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...

Последний раз редактировалось W!z@rD; 15.08.2009 в 11:16..
 
Ответить с цитированием

  #4097  
Старый 15.08.2009, 11:01
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме:
237284

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

Код:
var
  substr, s: string;
  p: Integer;
begin
  substr := 'b';
  s := 'ABCD';
  p := Pos(LowerCase(substr), LowerCase(s));
end;
 
Ответить с цитированием

  #4098  
Старый 15.08.2009, 11:33
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

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

Цитата:
Сообщение от sadfeel  
Как найти вложение текста в строке не учитывая регистр..? Делал через Pos но там регистр учитывается. помогите плиз. Работаю в дeлфи
из модуля strutils
function AnsiContainsText(const AText, ASubText: string): Boolean;
 
Ответить с цитированием

  #4099  
Старый 15.08.2009, 21:31
xmadstyle
Новичок
Регистрация: 29.08.2008
Сообщений: 9
Провел на форуме:
20683

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

Народ подскажите плиз как в дельфи работать с активными соединениями, а именно получить список активных соединений, ip и port источника и получателя определенного соединения, закрытие соединения.
Заранее спс.
 
Ответить с цитированием

  #4100  
Старый 15.08.2009, 21:47
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

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

запускай netstat и анализируй его вывод
или если вручную
http://www.xakep.ru/magazine/xa/098/122/1.asp
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ