Дальше статья повествует, как наивный чукотский «вьюноша» манипулировал всеми «хакерскими» утилитами по очереди, ломясь в широко открытую дверь. Чтобы повторить его «подвиг» вовсе не обязательно устанавливать на своей машине Netscape Navigator. Можно воспользоваться, например, приложением «Microsoft Web Publishing», которое поддерживает закачку файлов на сервер по HTTP-протоколу всеми доступными способами:
Рисунок 22 Microsoft Web Publishing поддерживает метод POST необходимый для «заливки» документов на серверОднако чаще всего злоумышленнику под тем или иным предлогом в доступе будет отказано. Возможные мотивации - метод PUT запрещен; метод PUT разрешен, но нет прав записи в указанный файл (директорию); наконец, метод PUT разрешен, права записи есть, но требуется авторизация (ввод имени и пароля).
Ниже приведены протоколы трех последовательных попыток подключения к следующим серверам: http://kpnc.virtualave.net, http://dore.on.ru и http://195.161.42.222.
· PUT /index.html HTTP/1.0·· HTTP/1.1 405 Method Not Allowed· Date: Sat, 15 Apr 2000 21:50:26 GMT· Server: Apache/1.2.6· Allow : GET, HEAD, OPTIONS, TRACE· Connection: close· Content-Type: text/html·· «HTML»· «HEAD»· «TITLE» 405 Method Not Allowed «/TITLE»· «/HEAD»· «BODY»· «H1» Method Not Allowed «/H1»· The requested method PUT is not allowed for the URL /index.html.«P»· «/BODY»«/HTML»· PUT /Index.html HTTP/1.0·· HTTP/1.1 403 Access Forbidden· Server: Microsoft-IIS/4.0· Date: Sat, 15 Apr 2000 22:04:25 GMT· Content-Length: 495· Content-Type: text/html·· «html»· «head»· «title»Error 403.3«/title»· «/head»· «body»· «h2»HTTP Error 403«/h2»· «p»«strong» 403.3 Forbidden: Write Access Forbidden «/strong»«/p»· «p»This error can be caused if you attempt to upload to, or modify a file in, a· directory that does not allow Write access.«/p»· «p»Please contact the Web server's administrator if the problem persists.«/p»· PUT /Index.htm HTTP/1.0·· HTTP/1.1 401 Access Denied· WWW-Authenticate: NTLM· WWW-Authenticate: Basic realm="195.161.42.222"· Content-Length: 644· Content-Type: text/html·· «html»· «head»· «title»Error 401.2«/title»· «body»· «h2»HTTP Error 401«/h2»· «p»«strong»401.2 Unauthorized: Logon Faile d due to server configuration«/strong»· «p»This error indicates that the credentials passed to the server do not match the· credentials required to log on to the server. This is usually caused by not s· ending the proper WWW-Authenticate header field.«/p»· «p»Please contact the Web server's administrator to verify that you have permiss· ion to access to requested resource.«/p»
Первые два случая говорят о правильной конфигурации сервера (с точки зрения политики безопасности), но факт авторизации сам по себе еще не свидетельствует о защищенности (быть может, используется простой пароль, наподобие «guest»).
Механизмы аутентификации HTTP-серверов довольно многочисленны, поэтому ниже будет описан лишь один, наиболее распространенный, из них. Всю остальную информацию можно почерпнуть из технической документации RFC-2068 и RFC-2069.
Начиная со спецификации HTTP 1.0, код ошибки “401” зарезервирован за «Access Denied, need authenticate [261]». Именно его возвратил сервер в последнем примере. Ниже заголовок ответа сервера приводится еще раз: