на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить







Подключение к mail.softclub.net


Через секунду после установления соединения, на экране telnet-клиента появится приглашение следующего вида:

· OK joshua.softclub.net IMAP4rev1 v12.250 server ready

Сразу же после его выдачи сервер переходит в состояние аутентификации. Передать свое имя и пароль клиент может двумя способами: либо воспользоваться командой “login” и послать их по сети в открытом виде (как чаще всего и происходит), либо выбрать защищенный режим, воспользовавшись командой “authenticate”, которая передает шифрованный пароль. Здесь не приводится анализ уязвимости тех или иных алгоритмов шифрования паролей и их реализаций. В общем случае все они достаточно надежны, а ошибки конкретных реализаций всегда можно найти на любом сайте, посвященном сетевой безопасности.

В приведенном ниже примере для входа на сервер используется команда “login”, следом за которой идут имя и пароль пользователя, разделенные пробелом:

· kpnc login kpnc MyPassword

· kpnc OK LOGIN completed

Ответ сервера состоит из трех частей: возращенного тега “kpnc” [196], ключевого слова “OK”, подтверждающего успешное завершение операции (в противном случае было бы “BAD”), и осмысленной текстовой строки (“LOGIN completed”).

С момента подтверждения пароля доступ к почтовому ящику открыт. Но прежде, чем приступить к чтению поступившей корреспонденции, необходимо понять, как она храниться на сервере. Конечно же, в папках, ибо в современной компьютерной терминологии папкой называется все, способное вмещать в себя что-то еще [197] Название и содержимое папок определяется самим пользователем, но в любой системе обязательно присутствует папка “INBOX”, в которую помещается поступающая корреспонденция.

Для выбора папки предусмотрена команда “SELECT”, использование которой продемонстрировано в следующем примере:

· kpnc SELECT INBOX

· * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)

· * OK [PERMANENTFLAGS(\Answered\Flagged\Draft\Deleted\Seen \*)]

· * 1 EXISTS

· * 1 RECENT

· * OK [UNSEEN 1]

· * OK [UIDVALIDITY 954332839]

· kpnc OK [READ-WRITE] Completed

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

За ключевым словом “FLAGS” (порядок которого в ответе произволен) перечисляются все доступные флаги для сообщений данной папки. Назначение их такого:

· Answered: на сообщение был отправлен ответ

· Flagged: сообщение имеет флаг (отмечено «галочкой»)

· Draft: незавершенное сообщение (черновик)

· Deleted: сообщение помечено как удаленное, но еще физически не удалено

· Seen: сообщение уже было прочитано

· Recent: только что полученное сообщение [198]

Следующее ключевое слово “PERMANENTFLAGS” показывает, какие флаги сообщений может менять пользователь, где знак «*» (джокер) обозначает «все флаги».

Две строки, расположенные ниже, говорят о том, что в ящике содержится всего одно письмо, которое было только что получено. «Только что» следует трактовать как «в промежутке между двумя последними сессиями».

Сообщение “UNSEEN 1” входит в перечень необязательных для реализации и подсчитывает количество непрочитанных писем. В приведенном примере имеется только одно такое письмо.

Уникальный временной идентификатор папки, следующий за “UIDVALIDITY”, может использоваться взамен ее имени и варьируется от сессии к сессии.

Последняя строка сообщает права клиента на эту папку. В данном случае доступно чтение и запись сообщений.

Следующий эксперимент демонстрирует технику чтения сообщений. В отличие от POP3, такую, казалось бы, простую операцию выполнить весьма затруднительно. Тогда как POP3 допускает лишь одну возможность - получение всего сообщения целиком, протокол IMAP4 помимо номера выбранного сообщения требует указание критерия запроса!

Полное описание синтаксиса запроса содержится в RFC-1730, с котором настоятельно рекомендуется ознакомиться, но здесь привести даже в общих чертах не представляется возможным.

Сообщение может быть прочитано различными способами, один из которых продемонстрирован ниже. Он заключается в вызове команды “FETCH” с параметрами, обсуждение которых выходит за рамки данной книги, но может быть почерпнуто из RFC-1730.

В простейшем случае для получения заголовка сообщения необходимо перейти в папку, в которой хранится это сообщение (для этого используется команда “SELECT”) и отправить серверу следующий запрос “FETCH msg BODY[HEADER]”, где “msg” порядковый номер требуемого сообщения.

Например, это может выглядеть так:

· kpnc SELECT INBOX

· kpnc FETCH 1 BODY[HEADER]

· 1 FETCH (FLAGS (\Recent \Seen) BODY[HEADER] {1032}

· Return-Path: «[email protected]»

· Received: from msk2.mail.ru (mx2.mail.ru [194.67.23.33])

· by mx1.mailru.com (8.10.0/8.10.0.Beta10) with ESMTP id e2TCbfd35173

· for «[email protected]»; Wed, 29 Mar 2000 16:37:41 +0400 (MSD)

· Received: from camel.int ([10.0.0.98] helo=camel.mail.ru)

· by msk2.mail.ru with esmtp (Exim 3.02 #116)

· id 12aHjy-0000Dk-00

· for [email protected]; Wed, 29 Mar 2000 16:38:30 +0400

· Received: from ppp-02.krintel.ru ([195.161.41.226] helo=KPNC)

· by camel.mail.ru with smtp (Exim 3.02 #107)

· id 12aHje-0002OB-00

· for [email protected]; Wed, 29 Mar 2000 16:38:12 +0400

· Message-ID: «[email protected]»

· From: =?koi8-r?B?69LJ0yDrwdPQxdLTy8k=?= «[email protected]»

· To: «[email protected]»

· Subject: Test

· Date: Wed, 29 Mar 2000 16:31:32 +0400

· MIME-Version: 1.0

· Content-Type: text/plain;

· charset="koi8-r"

· Content-Transfer-Encoding: 7bit

· X-Priority: 3

· X-MSMail-Priority: Normal

· X-Mailer: Microsoft Outlook Express 5.00.2417.2000

· X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300

·)

· kpnc OK Completed

А текст письма можно получить, воспользовавшись запросом “FETCH msg BODY[TEXT]”.

Например:

· kpnc FETCH 1 BODY[TEXT]

· 1 FETCH (BODY[TEXT] {16}

· Hello, KPNC!

·

·)

· kpnc OK Completed

Остальные команды протокола IMAP4 здесь рассматриваться не будут, но могут быть найдены в технической документации RFC-1730, RFC-2060 и RFC-2062.



Протокол IMAP4 | Техника сетевых атак | Дополнение. Почтовый сервер изнутри