информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медГде водятся OGRыАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 На GitHub пугают ложными предупреждениями... 
 Атака на пользователей больших... 
 Notepad++ полгода раздавал зараженные... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
nichego ne ponyatno. popodrobnee opishi 17.12.01 00:55  Число просмотров: 1372
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
[Net] Авторизация на MS Proxy 16.12.01 13:38  
Автор: YURICH Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как авторизоваться на MS Proxy server?
т.е. какой запрос надо дать серваку?
nichego ne ponyatno. popodrobnee opishi 17.12.01 00:55  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
nichego ne ponyatno. popodrobnee opishi 17.12.01 09:21  
Автор: YURICH Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Объясняю подробнее:
открываю я значит сокет с проксиком и перед тем как сказать ему GET мне такую-то страничку, я должен авторизоваться...
дык вот что ему нужно послать для этого...
слышал про какую-то байсик-авторизацию...
nichego ne ponyatno. popodrobnee opishi 17.12.01 15:06  
Автор: XR <eXtremal Research> Статус: The Elderman
<"чистая" ссылка>
> Объясняю подробнее:
> открываю я значит сокет с проксиком и перед тем как сказать
> ему GET мне такую-то страничку, я должен авторизоваться...
> дык вот что ему нужно послать для этого...
> слышал про какую-то байсик-авторизацию...

Авторизация идет не перед а прямо в GET запросе (каждом)
как отдельное поле HTTP заголовка
вот пример HTTP запроса:

GET http://www.server.com HTTP/1.1
Proxy-Authorization: Basic <user:pass - закодированные в base64>

- скобок <> разумеется не нужно
вот ещё бы алгоритм шифрования подкинул бы ктонить 18.12.01 13:16  
Автор: YURICH Статус: Незарегистрированный пользователь
<"чистая" ссылка>
вот ещё бы алгоритм шифрования подкинул бы ктонить 18.12.01 15:37  
Автор: XR <eXtremal Research> Статус: The Elderman
<"чистая" ссылка>
Вот кусок из oops на эту тему
#define       BASE64_VALUE_SZ   256
int           base64_value[BASE64_VALUE_SZ];
unsigned char alphabet[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
void
base_64_init()
{
int i;

    for (i = 0; i < BASE64_VALUE_SZ; i++)
        base64_value[i] = -1;

    for (i = 0; i < 64; i++)
        base64_value[(int) alphabet[i]] = i;
    base64_value['='] = 0;

}

char*
base64_encode(char *src) {
int             bits, char_count, len;
char            *res, *o_char, *lim, *o_lim;
unsigned char   c;

    if ( !src ) return(NULL);
    len = strlen(src);
    lim = src+len;

    res = xmalloc((len*4)/3+4, "base64_encode(): 1");
    if ( !res )
        return(NULL);
    o_char = res;
    o_lim  = res + (len*4)/3 + 1 ;
    char_count = 0;
    bits = 0;
    while ( (src < lim) && (o_char < o_lim) ) {
        c = *(src++);
        bits += c;
        char_count++;
        if (char_count == 3) {
            *(o_char++) = alphabet[bits >> 18];
            *(o_char++) = alphabet[(bits >> 12) & 0x3f];
            *(o_char++) = alphabet[(bits >> 6) & 0x3f];
            *(o_char++) = alphabet[bits & 0x3f];
            bits = 0;
            char_count = 0;
        } else {
            bits <<= 8;
        }
    }
    if (char_count != 0) {
        bits <<= 16 - (8 * char_count);
        *(o_char++) = alphabet[bits >> 18];
        *(o_char++) = alphabet[(bits >> 12) & 0x3f];
        if (char_count == 1) {
            *(o_char++) = '=';
            *(o_char++) = '=';
        } else {
            *(o_char++) = alphabet[(bits >> 6) & 0x3f];
            *(o_char++) = '=';
            *(o_char) = 0;
        }
    }
    return(res);
}

char *
base64_decode(char *p)
{
char            *result;
int             j;
unsigned int    k;
int             c, base_result_sz;
long            val;

    if (!p)
        return NULL;

    base_result_sz = strlen(p);
    result = xmalloc(base_result_sz+1,"base64_decode(): 1");

    val = c = 0;
    for (j = 0; *p && j + 3 < base_result_sz; p++) {
        k = (int) *p % BASE64_VALUE_SZ;
        if (base64_value[k] < 0)
            continue;
        val <<= 6;
        val += base64_value[k];
        if (++c < 4)
            continue;
        result[j++] = (char) (val >> 16);
        result[j++] = (val >> 8) & 0xff;
        result[j++] = val & 0xff;
        val = c = 0;
    }
    result[j] = 0;
    return result;
}



---
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach