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
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3081  
Старый 09.06.2009, 14:58
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме:
1608432

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

что не правельно в этом запросе? отсылаю его на сервер, а от сервера ни ответа ни привета
Код:
char *query=(char*)malloc(2048);

    strcpy(query,"POST /");
    strcat(query,http_path);
    strcat(query," HTTP/1.0\nHost: ");
    strcat(query,http_host);
    strcat(query,"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 \r\n");
strcat(query,"Accept-Language: ru,en-us;q=0.7,en;q=0.3 \r\n");
strcat(query,"Accept-Encoding: gzip,deflate \r\n");
strcat(query,"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 \r\n");
strcat(query,"Keep-Alive: 300 \r\n");
strcat(query,"Connection: keep-alive \r\n");
strcat(query,"Content-Type: application/x-www-form-urlencoded; charset=UTF-8 \r\n");
strcat(query,"X-Requested-With: XMLHttpRequest \r\n");
strcat(query,"Referer: http://vkontakte.ru/index.php \r\n");
strcat(query,"Content-Length: 65 \r\n");
strcat(query,"Cookie: remixlang=0; remixchk=5; remixautobookmark=14; remixclosed_tabs=64; lang=0; remixgroup_closed_tabs=0 \r\n");
strcat(query,"Pragma: no-cache \r\n");
strcat(query,"Cache-Control: no-cache \r\n");
strcat(query,"op=a_login_attempt&email=mail%40mail.ua&pass=123456&expire=0");
 
Ответить с цитированием

  #3082  
Старый 09.06.2009, 15:17
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Цитата:
char *query=(char*)malloc(2048);

попробуй заменить оператором new
Толку с такой замены не будет

Цитата:
что не правельно в этом запросе? отсылаю его на сервер, а от сервера ни ответа ни привета
Целиком код покажи, и перед данными post запроса должен стоять двойной перенос строки
 
Ответить с цитированием

  #3083  
Старый 09.06.2009, 16:30
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме:
1608432

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

вот весь код
Код:
#include <windows.h>

#include <stdio.h>
#include <string.h>
#pragma comment(lib, "ws2_32.lib")

char* OpenURL(char *url) {
    WSADATA lpWSAData;
    SOCKET s;

    // Проверим на правильность введенный адрес.
    // Он должен начинаться с "http://"
    if (memcmp(url,"HTTP://",7)!=0 && memcmp(url,"http://",7)!=0) return(NULL);
    url+=7;

    // Инициализация библиотеки Ws2_32.dll.
    if (WSAStartup(MAKEWORD(1,1),&lpWSAData)!=0) return(NULL);


    // Получим имя хоста, номер порта и путь ----------------------------

    char *http_host=strdup(url); // Имя хоста (HTTP_HOST)
    int port_num=80;             // Номер порта по умолчанию (HTTP_PORT)
    char *http_path=NULL;        // Путь (REQUEST_URI)

    char *pch=strchr(http_host,':');
    if (!pch) {
        pch=strchr(http_host,'/');
        if (pch) {
            *pch=0;
            http_path=strdup(pch+1);
            }
        else http_path=strdup("");
        }
    else {
        *pch=0;pch++;
        char *pch1 = strchr(pch,'/');
        if (pch1) {
            *pch1=0;
            http_path=strdup(pch1+1);
            }
        else http_path=strdup("");

        port_num = atoi(pch);

        if (port_num==0) port_num = 80;
        }

    // Поучаем IP адрес по имени хоста
    struct hostent* hp;
    if (!(hp=gethostbyname(http_host))) {
        free(http_host);
        free(http_path);
        return(NULL);
        }

    // Открываем сокет
    s=socket(AF_INET, SOCK_STREAM, 0);
    if (s==INVALID_SOCKET) {
        free(http_host);
        free(http_path);
        return(NULL);
        }

    // Заполняем структуру sockaddr_in
    struct sockaddr_in ssin;
    memset ((char *)&ssin, 0, sizeof(ssin));
    ssin.sin_family = AF_INET;
    ssin.sin_addr.S_un.S_un_b.s_b1 = hp->h_addr[0];
    ssin.sin_addr.S_un.S_un_b.s_b2 = hp->h_addr[1];
    ssin.sin_addr.S_un.S_un_b.s_b3 = hp->h_addr[2];
    ssin.sin_addr.S_un.S_un_b.s_b4 = hp->h_addr[3];
    ssin.sin_port = htons(port_num);

    // Выводим IP адрес хоста, с которым будем соединятся
    printf("Conecting to %d.%d.%d.%d...",(unsigned char)hp->h_addr[0],
                                         (unsigned char)hp->h_addr[1],
                                         (unsigned char)hp->h_addr[2],
                                         (unsigned char)hp->h_addr[3]);

    // Соединяемся с хостом
    if (connect(s, (sockaddr *)&ssin, sizeof(ssin))==-1) {
        free(http_host);
        free(http_path);
        printf("Error\n");
        return(NULL);
        }
    printf("Ok\n");

    // Формируем HTTP запрос
    char *query=(char*)malloc(2048);

    strcpy(query,"POST /");
    strcat(query,http_path);
    strcat(query," HTTP/1.0\nHost: ");
    strcat(query,http_host);
    strcat(query,"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 \r\n");
strcat(query,"Accept-Language: ru,en-us;q=0.7,en;q=0.3 \r\n");
strcat(query,"Accept-Encoding: gzip,deflate \r\n");
strcat(query,"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 \r\n");
strcat(query,"Keep-Alive: 300 \r\n");
strcat(query,"Connection: keep-alive \r\n");
strcat(query,"Content-Type: application/x-www-form-urlencoded; charset=UTF-8 \r\n");
strcat(query,"X-Requested-With: XMLHttpRequest \r\n");
strcat(query,"Referer: http://vkontakte.ru/index.php \r\n");
strcat(query,"Content-Length: 65 \r\n");
strcat(query,"Cookie: remixlang=0; remixchk=5; remixautobookmark=14; remixclosed_tabs=64; lang=0; remixgroup_closed_tabs=0 \r\n");
strcat(query,"Pragma: no-cache \r\n");
strcat(query,"Cache-Control: no-cache \r\n");
strcat(query,"op=a_login_attempt&email=mail%40mail.ua&pass=password&expire=0");

    // Выводим HTTP запрос
    printf("%s",query);

    // Отправляем запрос серверу
    int cnt=send(s,query,strlen(query),0);

    // Освобождаем память
    free(http_host);
    free(http_path);
    free(query);

    // Проверяем, не произошло ли ошибки при отправке запроса на сервер
     if (cnt==SOCKET_ERROR) return(NULL);

    cnt=1;

    // Получаем ответ с сервера ---------------------------------

    int size=1024*1024; // 1Mb
    char *result=(char*)malloc(size);
    strcpy(result,"");
    char *result_ptr=result;

    while (cnt!=0 && size>0) {
        cnt=recv (s, result_ptr, sizeof(size),0);
        if (cnt>0) {
            result_ptr+=cnt;
            size-=cnt;
            }
        }
    *result_ptr=0;

    // Деинициализация библиотеки Ws2_32.dll
    WSACleanup();

    return(result);
    }

void main(void) {


    char URL[1024]="";
(void)scanf("%s",URL);
char *result=OpenURL(URL);
if (result) {
        printf("%s",result);
        free(result);
        }
    else {
        printf("Error # WSABASEERR+%d\n",WSAGetLastError()-WSABASEERR);
        }
   
	getchar();
	getchar();
    }
 
Ответить с цитированием

  #3084  
Старый 09.06.2009, 16:52
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Длинна содержимого Post запроса 62, а не 65
И \r\n\r\n перед содержимым
 
Ответить с цитированием

  #3085  
Старый 09.06.2009, 18:26
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме:
1608432

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

по аналогии передаю вот такой вот пакет, и что то опять не правельно хелп ми
Код:
char *query=(char*)malloc(2048);

    strcpy(query,"POST /");
    strcat(query,http_path);
    strcat(query," HTTP/1.0\nHost: ");
    strcat(query,http_host);
    strcat(query,"\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 ");
strcat(query,"\r\nAccept-Language: ru,en-us;q=0.7,en;q=0.3 ");
strcat(query,"\r\nAccept-Encoding: gzip,deflate ");
strcat(query,"\r\nAccept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 ");
strcat(query,"\r\nKeep-Alive: 300 ");
strcat(query,"\r\nConnection: keep-alive ");
strcat(query,"\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8 ");
strcat(query,"\r\nX-Requested-With: XMLHttpRequest ");
strcat(query,"\r\nReferer: Referer: http://*** ");
strcat(query,"\r\nContent-Length: 1588");
strcat(query,"\r\nCookie: remixlang=0; remixchk=5; remixautobookmark=14; remixclosed_tabs=64; lang=0; remixgroup_closed_tabs=0 ");
strcat(query,"\r\nPragma: no-cache");
strcat(query,"\r\nCache-Control: no-cache");
strcat(query,"\r\nsql_query=UPDATE+%60account%60+SET+%60id%60+%3D+%2712%27%2C+%60username%60+%3D+%27Xexe%27%2C+%60sha_pass_hash%60+%3D+%27d7c390a3872b468d05723ded074ce85887b45ea3%27%2C+%60gmlevel%60+%3D+%273%27%2C+%60sessionkey%60+%3D+%271802AD963972B2EEDD19960759F6BDD583BB726E290C1DFDADB90C01FD51BA1F8A356B83608E3C6D%27%2C+%60v%60+%3D+%270%27%2C+%60s%60+%3D+%270%27%2C+%60email%60+%3D+%27Kaka%40meil.ua%27%2C+%60joindate%60+%3D+%272009-03-15+21%3A15%3A43%27%2C+%60last_ip%60+%3D+%27192.168.3.89%27%2C+%60failed_logins%60+%3D+%270%27%2C+%60locked%60+%3D+%270%27%2C+%60last_login%60+%3D+%272009-04-25+22%3A57%3A54%27%2C+%60online%60+%3D+%270%27%2C+%60expansion%60+%3D+%272%27%2C+%60mutetime%60+%3D+%270%27%2C+%60locale%60+%3D+%278%27+WHERE++%60id%60+%3D+%2712%27+AND+%60username%60+%3D+%27Xexe%27+AND+%60sha_pass_hash%60+%3D+%27d7c390a3872b468d05723ded074ce85887b45ea3%27+AND+%60gmlevel%60+%3D+%270%27+AND+%60sessionkey%60+%3D+%271802AD963972B2EEDD19960759F6BDD583BB726E290C1DFDADB90C01FD51BA1F8A356B83608E3C6D%27+AND+%60v%60+%3D+%270%27+AND+%60s%60+%3D+%270%27+AND+%60email%60+%3D+%27Kaka%40meil.ua%27+AND+%60joindate%60+%3D+%272009-03-15+21%3A15%3A43%27+AND+%60last_ip%60+%3D+%27192.168.3.89%27+AND+%60failed_logins%60+%3D+%270%27+AND+%60locked%60+%3D+%270%27+AND+%60last_login%60+%3D+%272009-04-25+22%3A57%3A54%27+AND+%60online%60+%3D+%270%27+AND+%60expansion%60+%3D+%272%27+AND+%60mutetime%60+%3D+%270%27+AND+%60locale%60+%3D+%278%27++LIMIT+1%3B&sql_db=realmdtest&sql_port=3306&sql_server=localhost&sql_passwd=password&sql_login=root&act=sql&sql_act=query&sql_tbl=account&submit=1&sql_goto=&sql_confirm=Yes");
 
Ответить с цитированием

  #3086  
Старый 09.06.2009, 18:49
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Ты меня не так понял видимо. Я имел ввиду что запрос должен выглядеть примерно так

POST /cgi-bin/auth HTTP/1.0\r\n
Host: mail.ru\r\n
Content-type: application/x-www-form-urlencoded\r\n
Content-length: длинна содержимого\r\n\r\n
Содержимое
 
Ответить с цитированием

  #3087  
Старый 09.06.2009, 19:09
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме:
1608432

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

Это может быть вызвано повреждением кучи и указывает на ошибку в http.exe или в одной из загруженных им DLL.

Возможной причиной так же может быть нажатие пользователем клавиши F12, когда фокус принадлежит http.exe
 
Ответить с цитированием

  #3088  
Старый 09.06.2009, 19:11
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме:
1608432

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

Цитата:
Сообщение от Kaimi  
Ты меня не так понял видимо. Я имел ввиду что запрос должен выглядеть примерно так

POST /cgi-bin/auth HTTP/1.0\r\n
Host: mail.ru\r\n
Content-type: application/x-www-form-urlencoded\r\n
Content-length: длинна содержимого\r\n\r\n
Содержимое
если не сложно выложи исправленый кусок, ато чет я наверное не допонимаю... ошика лезет...
 
Ответить с цитированием

  #3089  
Старый 09.06.2009, 19:26
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Код:
    strcpy(query,"POST /");
    strcat(query,http_path);
    strcat(query," HTTP/1.0\nHost: ");
    strcat(query,http_host);
strcat(query,"\r\nConnection: close \r\n");
strcat(query,"Content-Type: application/x-www-form-urlencoded; charset=UTF-8 \r\n");
strcat(query,"Cookie: remixlang=0; remixchk=5; remixautobookmark=14; remixclosed_tabs=64; lang=0; remixgroup_closed_tabs=0 \r\n");
strcat(query,"Content-Length: 62\r\n\r\n");
strcat(query,"op=a_login_attempt&email=mail%40mail.ua&pass=password&expire=0");
 
Ответить с цитированием

  #3090  
Старый 09.06.2009, 19:56
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

s_p_a_m, прекоати юзать char* для формирования данных. юзай std::string и оператор +. иначе с таким подходом к расчету требуемой памяти у тебя всегда будут косяки.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ