ТЕХНИКА СЕТЕВЫХ АТАК
Шрифт:
·…
Пара чисел, следующих за именем группы, указывает номера первого и последнего из доступных сообщений.
Врезка «для начинающих» *Ограниченные дисковые ресурсы сервера не позволяют ему сохранять все сообщения. По истечении некоторого промежутка времени (варьирующегося зависимости от настройки от недели до месяца) старая корреспонденция удаляется. Предполагается, что подписчики регулярно посещают сервер, и все необходимое сохраняют на своем локальном компьютере.
Конечно, это чрезвычайно неудобное решение доставляет много хлопот пользователям и засоряет их жесткие диски. Поэтому, в сети возникли специализированные сервера, занимающиеся архивированием всех (или избранных) конференций. Некоторые из них имеют развитую систему поиска, без которой было бы немыслимо ориентироваться в миллионах сообщений.
Большой популярностью пользуется служба «Deja News» (http://dejanews.com), позволяющая не только читать, но отправлять сообщения в конференции.
Флаг, расположенный в конце каждой строки, может принимать один из трех следующих значений: “y”, “n” и “m”. Значение “y” говорит о том, что создание новых сообщений в этой конференции разрешено; “n” запрещает такую операцию и “m” обозначает модерируемою конференцию.
Врезка «для начинающих»В модерируемые конференции напрямую писать нельзя. Во избежание засорения трафика малоинформативными сообщениями необходимо переслать свое сообщение ведущему (модератору) группы, который по своему усмотрению может поместить его в конференции, а может и не поместить.
На самом же деле, как будет показано в следующей главе «Атака на NNTP-сервер», в большинстве случаев это ограничение можно с легкостью обойти.
Для чтения сообщений из группы ее необходимо предварительно выбрать командой “GROUP”, например, так:
· GROUP akr.internet
· 211 5 375 379 akr.internet
Код 211 сигнализирует об успешном завершении операции (в случае отсутствия запрошенной группы возвращается код 411), за ним следует число хранящихся на сервере сообщений, с номерами первого и последнего из них.
Одним из способов чтения сообщений заключается в использовании команды “ARTICLE”, принимающей в качестве аргумента либо уникальный идентификатор “Message-Id”, либо порядковый номер сообщения.
Врезка «замечание»Наряду с «ARTICLE» существуют команды «BODY» и «HEAD». Последняя из них возвращает заголовок сообщения; “BODY” - тело, а “ARTICLE”, эквивалентно HEAD+BODY.
Пример, приведенный ниже, демонстрирует получение сообщения, путем использование команды ARTICLE:
· ARTICLE 375 · 220 375 «t0pD4.358$HG1.11974@nnrp1.uunet.ca» article · From: "Chris Robins" «crobins@hotmail.com» · Newsgroups: akr.internet,alt.best.of.internet,alt.community.local-money,alt.comp · References: «01bf95ce$af112040$LocalHost@lislen» · Subject: Easy Money! · X-Priority: 3 · X-MSMail-Priority: Normal · X-Newsreader: Microsoft Outlook Express 5.00.2919.6600 · Message-ID: «t0pD4.358$HG1.11974@nnrp1.uunet.ca» · Date: Sun, 26 Mar 2000 09:21:28 -0500 · NNTP-Posting-Host: 209.47.93.156 · X-Trace: nnrp1.uunet.ca 954080409 209.47.93.156 (Sun, 26 Mar 2000 09:20:09 EST) · NNTP-Posting-Date: Sun, 26 Mar 2000 09:20:09 EST · Xref: news.rnd.runnet.ru akr.internet:375 · · Interested in learning about how you could ear money just for being online, · then go to my website at: · http://www.makemoney.f2s.com/makemoney.htm · · If you don't believe me then view my checks at: · http://www.makemoney.f2s.com/checks.htm ·.Если вызвать команду “ARTICLE” без аргументов, она вернет текущее сообщение. Две команды, “NEXT” и “LAST” служат для перемещения маркера текущего сообщения на одну позицию вперед и назад соответственно. Поэтому, можно не задумываться о номерах сообщений и читать их последовательно одно за другим, пока не надоест.
Например, так:
· NEXT · 223 376 «tmtD4.423$HG1.13664@nnrp1.uunet.ca» Article retrieved; request text separately.Команда NEXT на единицу увеличила номер текущего сообщения. Но как быть, если хочется прыгнуть сразу в середину списка? Не вызывать же ради этого “NEXT” бесчисленное множество раз?! Конечно же, нет! Достаточно воспользоваться командой “STAT”, перемещающий указатель на любую произвольную позицию.
Следующий эксперимент демонстрирует создание нового сообщения. Для этого потребуется сервер, разрешающий постинг хотя бы в одну конференцию. Лучше всего воспользоваться специально созданной для подобных целей группой, наподобие “test”.
Простейший способ создания сообщения заключается в использовании команды «POST», вызываемой без аргументов. Например:
· Post · 340 OkСервер ожидает текста сообщения, завершаемого (как и в протоколе POP3), последовательностью «CRLF».«CRLF» [233]. Первыми идут поля заголовка [234], которые делятся на обязательные и на необязательные.
К обязательным полям относятся:
· newsgroups: одна (или больше) имен групп, куда должно быть отправлено сообщение
· from:адрес отправителя сообщения
· subject:тема сообщения
Если хотя бы одно обязательное поле отсутствует, сервер возвращает ошибку и блокирует отправление.
Например:
· post · 340 Ok · from:«kpnc» · Subject:hello · · hello ·. · 441 Required "Newsgroups" header is missingПосле добавления недостающего поля повторная операция отправки сообщения должна завершиться успешно.
· post · 340 Ok · newsgroups:test.test · from:«kpnc@aport.ru» · subject:helo · · Helo! ·. · 240 Article postedСервер подтвердил успешность выполнения операции, но чтобы действительно убедиться в отправке сообщения, необходимо попробовать прочитать сообщение с сервера, например, следующим образом:
· GROUP test.test · 211 1 121 121 test.test · ARTICLE · 220 121 «8bqntq$o2j$4@jumbo.demos.su» article · Path: demos2!demos!dnews-server · From: «kpnc@aport.ru» · Newsgroups: test.test · Subject: helo · Date: 28 Mar 2000 16:51:06 GMT · Lines: 1 · Message-ID: «8bqntq$o2j$4@jumbo.demos.su» · NNTP-Posting-Host: ppp-02.krintel.ru · X-Trace: jumbo.demos.su 954262266 24659 195.161.41.226 (28 Mar 2000 16:51:06 GMT ·) · NNTP-Posting-Date: 28 Mar 2000 16:51:06 GMT · Xref: demos2 test.test:121 · · Helo! ·.