Чтение онлайн

на главную - закладки

Жанры

Техника сетевых атак
Шрифт:

· Connection: Keep-Alive

· Content-Type: text/html

·

· «BODY»

· «BR»

· «BR»

· «HR»

· «H1»

· «CENTER»

· Helo, Sailor!

· «/H1»

· «BR»

· «H2»

· Click «A href="#"»here«/A»

· «/h2»

· «HR»

· «/BODY»

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

Манипулируя значением “timeout” можно увеличить этот промежуток до 100 секунд (вполне достаточно для комфортной работы в telnet-клиенте), но это предел, превысить который не позволят настойки сервера. (Максимальное ограничение во времени на удержание соединения варьируется от сервера к серверу).

Остальные поля заголовка исчерпывающе описаны в RFC-1945 и RFC-2068, и здесь не рассматриваются.

Для удаленного выполнения программ может использоваться все тот же метод “GET”, вызываемый точно так, как для запроса содержимого обычного HTML-документа. Единственное различие заключается в том, что клиенту возвращается не исходный текст программы, а результат ее работы. Получить в свое распоряжение содержимое исполняемого файла невозможно (точнее не должно быть возможно), даже если имеются права на его чтение.

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

Вспоминается громкий скандал, развернувшийся вокруг обнаруженной ошибки в Internet Information Server 3.0 (IIS 3.0), позволяющий получить доступ к содержимому asp (Active Server Pages) скриптов добавлением в конце имени знака точки. То есть, если к default.asp [255], расположенному на сайте www.microsoft.com [256], обратиться так - “GET /default.asp

.
[257]”, то сервер вернет сам файл, а не результат его работы.

Например:

GET /Default.asp.

«% emailx=request.form("email")

remarkx=request.form("remark")

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Local SQL Server", "sa", "DTide"

Set RS = Conn.Execute("insert into Web_data.dbo.ASP_data(email,remark) values('" amp; emailx amp; "','" amp; remarkx amp; "')") %»

Your information has been added to our database.

Разработчики впопыхах дописали несколько наивных строк тривиально фильтра и поплатились за это. В суматохе никому и в голову не пришло, что тот же самый вызов можно записать и как - “GET /default.asp%20/”, то есть заменить символ точки ее шестнадцатеричным значением. И только что выпущенная заплатка оказалась бесполезной.

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

Врезка «замечание»

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

В качестве небольшого упражнения, можно запустить демонстрационный пример, расположенный по адресуРезультат его работы показан на рисунке, приведенном ниже:

Рисунок 20 Демонстрация удаленного выполнения программы

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

· #!/usr/local/bin/perl -w

· print "Content-type: text/html\n\n";

· print "Hello,Sailor!\n";

Сервер «съел» одну строку (в листинге она выделена жирным шрифтом). Если же ее попытаться убрать, то выполнение скрипта прервется с сообщением об ошибке. Причины такого поведения подробно рассмотрены в дополнении «Протокол CGI».

В главе «Что можно сделать с помощью Perl» замечалось, что многие сервера неявно предоставляют возможность выполнения скриптов. Для этого достаточно поместить свой файл в директорию, с атрибутами “r w x - - x - - -x”, которая, как правило, называется «/BIN» или «/CGI-BIN». Иногда это можно сделать с помощью FTP (File Transfer Protocol, смотри главу «Протокол FTP» [258]), но в подавляющем большинстве случаев ftp-доступ закрыт (точнее, правильнее было бы сказать, не открыт).

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

При «заливке» файла на сервер в заголовке запроса обязательно наличие поля “Content-length”, равного длине закачиваемого файла в байтах, а так же “Accept”, указывающего в каком формате будут переданы данные. Необязательное поле “From” может содержать электронный адрес отправителя, а может и вовсе отсутствовать.

Методом PUT можно воспользоваться, для создания нового или замещения любого уже существующего файла на сервере, разумеется, при наличии надлежащих прав доступа. Например, чтобы оставить свое graffiti на главной страничке сайта[259] можно послать серверу следующий запрос:

· PUT /~kpnc/ HTTP/1.0

· Accept: text\html

· From: vasia@bestia.my

· Content-type: text/html

· Content-length:220 [260]

·

Популярные книги

Я же бать, или Как найти мать

Юнина Наталья
Любовные романы:
современные любовные романы
6.44
рейтинг книги
Я же бать, или Как найти мать

Новый Рал 2

Северный Лис
2. Рал!
Фантастика:
фэнтези
7.62
рейтинг книги
Новый Рал 2

Темный Патриарх Светлого Рода 5

Лисицин Евгений
5. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 5

Двойной запрет для миллиардера

Тоцка Тала
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Двойной запрет для миллиардера

Все ведьмы – стервы, или Ректору больше (не) наливать

Цвик Катерина Александровна
1. Все ведьмы - стервы
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Все ведьмы – стервы, или Ректору больше (не) наливать

Ненастоящий герой. Том 1

N&K@
1. Ненастоящий герой
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Ненастоящий герой. Том 1

Смертник из рода Валевских. Книга 6

Маханенко Василий Михайлович
6. Смертник из рода Валевских
Фантастика:
фэнтези
рпг
аниме
6.25
рейтинг книги
Смертник из рода Валевских. Книга 6

Искушение генерала драконов

Лунёва Мария
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Искушение генерала драконов

Система Возвышения. (цикл 1-8) - Николай Раздоров

Раздоров Николай
Система Возвышения
Фантастика:
боевая фантастика
4.65
рейтинг книги
Система Возвышения. (цикл 1-8) - Николай Раздоров

Огни Аль-Тура. Завоеванная

Макушева Магда
4. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Аль-Тура. Завоеванная

Отверженный VII: Долг

Опсокополос Алексис
7. Отверженный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Отверженный VII: Долг

Береги честь смолоду

Вяч Павел
1. Порог Хирург
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Береги честь смолоду

(Противо)показаны друг другу

Юнина Наталья
Любовные романы:
современные любовные романы
эро литература
5.25
рейтинг книги
(Противо)показаны друг другу

Одиссея адмирала Кортеса. Тетралогия

Лысак Сергей Васильевич
Одиссея адмирала Кортеса
Фантастика:
попаданцы
альтернативная история
9.18
рейтинг книги
Одиссея адмирала Кортеса. Тетралогия