.HTACCESS И .HTPASSWD

Спецвыпуск Xakep, номер #022, стр. 022-046-1


рецепт скоростного взлома

MOOF (moof@real.xakep.ru, http://moof.ru)

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

ЧТО ТАКОЕ, КТО ТАКОЙ?

Для начала давай разберемся, о чем мы будем говорить. А будем говорить мы о двух файлах со странными именами, начинающихся с точки: .htaccess и .htpasswd. Файл .htaccess используется для изменений настроек сервера для отдельных файлов или каталогов. С его помощью мы можем задавать реакцию веб-сервера на различные ошибки (например, если не найдена страница), менять типы файлов (сделать так, чтобы файлы с расширением .html выполнялись интерпретатором php) и, что самое интересное, ограничивать доступ паролем. .htaccess - это обычный текстовый файл, в котором содержится инструкции для веб-сервера. Кстати, на самом деле файл может называться и по-другому, в конфигурации сервера Apache есть специальный параметр AccessFileName, который задает имя этого файла. Но 99% администраторов его, конечно, не меняют. Второй файл - .htpasswd - содержит набор логинов и паролей в зашифрованном виде. Создается он в том случае, если мы хотим ограничить доступ к какой-нибудь части сайта или к отдельной страничке.

ВНУТРЕННОСТИ

Прежде чем начать говорить о способах получения доступа, необходимо разобраться в содержимом файлов .htaccess и .htpasswd. Действие файла .htaccess распространяется на каталог, в котором этот файл находится, и на все подкаталоги. Поэтому если файл положить в корень, то изменятся настройки всего сайта. Итак, содержимое файла .htaccess может содержать следующие настройки:

DirectoryIndex index.shtml index.html index.htm

Задает список файлов, к которым сервер будет обращаться "по умолчанию". Если набрать адрес www.server.com/news/, то сервер сперва будет искать файл index.shtml. Если его не окажется, то сервер будет стараться открыть следующий файл по списку (index.html). И так до конца. Если ни один файл не будет найден, то сервер вернет ошибку 404 - файл не найден.

ErrorDocument 404 /404.html

Этой командой задается имя html-файла, отображаемого при возникновении ошибки 404. Можно создать файлы и для других ошибок: 500 - ошибка выполнения скрипта, 403 - доступ запрещен и т.д. Полный список ошибок, генерируемых сервером, можно посмотреть на сайте apache.org, например.

Options Indexes

Этой командой мы разрешаем серверу отдавать в браузер содержимое каталога. Если у нас нет индексного файла в каталоге и мы напишем www.server.com/list/, то увидим список файлов. Для того чтобы отключить просмотр каталога, перед Indexes надо поставить "-".

Существует еще огромное множество команд. Обо всех, к сожалению, рассказать не получится. Если тебе будет интересно, зайди на citfroum.ru, webclub.ru, lib.ru, webscript.ru и почитай документацию, там все подробно описано.

БЛИЖЕ К ТЕЛУ

Но нас интересует та часть .htaccess, с помощью которой можно запаролить доступ к сайту.

Содержание  Вперед на стр. 022-046-2