.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
|