есть ли аналог kerberos'a?

Тема в разделе "WASM.BEGINNERS", создана пользователем Flasher, 5 янв 2008.

  1. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    Хочю разобраться в методе аутентификации браузера с ssl сервером, чтобы программно эмулировать те же действия.
    kerberos ничего дельного не показал...
    ручной перехват функций HttpOpenRequest и HttpSendRequest тоже null

    Подскажите плиз как перехватить сообщения отправленные браузера серверу?
    Вот, выдрал html код из странички аутентификации.
    Код (Text):
    1. <FORM action="/cgi-bin/utm/login" method=post>
    2. <TR><TD><TABLE width=100% cellspacing=0 cellpadding=5 border=0>
    3. <TR><TD width=40% align=right>Логин</TD><TD>&nbsp;</TD><TD width=60% align=left><INPUT type=text name=login size=40></TD></TR>
    4. <TR><TD width=40% align=right>Пароль</TD><TD>&nbsp;</TD><TD width=60% align=left><INPUT type=password name=password size=40></TD></TR>
    5. <TR><TD width=40% align=right>&nbsp;</TD><TD>&nbsp;</TD><TD width=60% align=left><INPUT type=submit value="ВХОД"></TD></TR>
    6. <INPUT type=hidden name=cmd value=user_verify>
    7. </TABLE></TD></TR>
    8. </FORM>
    Заголовок пакеты примерно будет выглядить так:

    POST /cgi-bin/utm/login HTTP/1.1
    Content-Type: application/x-www-form-urlencoded

    да?
    Но нужно точно, а не примерно..
     
  2. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Flasher
    Попробуй воспользоваться мониторами TCP пакетов. Или фаерволом с поддержкой данной возможности.
     
  3. Zenturion

    Zenturion New Member

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    5
    tcpdump?
     
  4. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    не зря вить написал "с ssl сервером"
     
  5. GorluM

    GorluM николай gorl

    Публикаций:
    0
    Регистрация:
    6 дек 2003
    Сообщения:
    61
    Адрес:
    Москва
    отправляюся такие в IE запросы ТОЧНО c помощью HttpSendRequestA\HttpSendRequestW и пофигу, SSL или нет.
     
  6. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    Flasher
    Ну просто POST ты не в тему сказал. SSL к POST никак не относится. Если ты не знаешь как браузер делает запросы на получение документов, то читай теже RFC (хотя это гемор), - удобнее читать просто любое переваренное описание HTTP протокола - например http://www.codenet.ru/webmast/http/. Чтобы смотреть HTTP-запросы браузеров используй HttpAnalyzer. Он кстати умеет перехватывать HTTPS-сессии если ПО использует WININET API (Internet Explorer) или Mozilla NSS API (Firefox). Чтобы реализовать обращение через HTTPS используй WinHTTP API - (флаг WINHTTP_FLAG_SECURE функции WinHttpOpenRequest), при этом порт коннекта будет 443 (HTTPS). Использование WinHTTP (WinInet) наполовину освобождает требования по вниканию в структуру протокола HTTP, при этом у API есть ограничения, которые могут вызвать кучу проблем при нестандартных способах взаимодействия с HTTP-серверами. Поэтому для достижения наибольшей гибкости можно реализовать клиентскую часть через WinSock. SSL в этом случае очень просто можно прикрутить с помощью библиотеки OpenSSL (которая естественно доступна для Win32). OpenSSL громоздка. Альтернативой является использование Security API для нативной реализации SSL. Об этом можно почитать тут http://www.codeproject.com/KB/IP/sslclasses.aspx
     
  7. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    EvilPhreak, спасибо, HttpAnalyzer то что нужно.
    Только есть кой какие непонятки..
    Словил и post и дальнейшие действия, так вот, после того как успешно залогинились, при дальнейшей обращении к серверу для идентификации отправляется какой-то sid, не совсем понимаю откуда это берёт браузер.

    вот заголовок:
    GET /cgi-bin/utm/utm_stat?cmd=user_report&sid=RDmtxvkrL4O2EzR8edMj8FhO4V7V HTTP/1.1
     
  8. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    Flasher
    Ну это просто. SID он во-первых может взять из страницы, которую вернул сервер, как какое-нибудь поле или просто ссылка, или может взять как cookie, которое вернул сервер, также бровсер на основе каких-либо данных с помощью JAVA-SCRIPT кода может генерировать это значение.
     
  9. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    EvilPhreak, да, я в первую очередь о том же думал, что это серв вернул.., но нет, чательно смотрел в HttpAnalyzer.

    Возвращает только:

    HTTP/1.1 200 OK
    Date: Sun, 06 Jan 2008 08:58:15 GMT
    Server: Apache/1.3.37 (Unix) PHP/4.4.7 mod_ssl/2.8.28 OpenSSL/0.9.8a
    Keep-Alive: timeout=15, max=99
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html

    636
    дальще html код со строкой "Активация прошла успешно."

    Могет HttpAnalyzer что-то не словил ?
     
  10. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    Flasher
    Смотри внимательно и выключи фантазию - она в этом деле не нужна.