Поиск файлов в открытых каталогах сайтов — как искать и как защититься
В сравнении с рисками обмена файлами по пиринговым сетям, просмотр открытых каталогов на сайтах кажется проще и безопаснее. Как только вы начнёте, удивитесь — порой в таких папках лежит масса контента (например, журналы или архивы).
Часто владельцы сайтов просто забывают защитить папки паролем или не создают индексную страницу (index.htm, index.html, index.php). В таком случае при попытке открыть директорию сервер показывает список всех файлов и подкаталогов, и вы можете их скачать или просмотреть.
Вот как обычно выглядит открытый каталог:
Каталоги такого типа могут содержать изображения, музыку, видео, документы — практически что угодно.
Важно
- Никогда не используйте эти техники для получения доступа к конфиденциальным или явно приватным данным без явного разрешения владельца. Это может быть незаконно.
- Используйте информацию ниже преимущественно для аудита собственной инфраструктуры, исследования угроз или обучения.
Как выглядят поисковые строки (примеры)
Ниже — примеры поисковых строк, которые ищут страницы со «списком файлов» (index listing). Они показывают каталоги, где включён показ содержимого папки.
- Общий поиск всех открытых каталогов:
-inurl(html|htm|php) intitle:”index of” +”last modified” +”parent directory” +description +size
- Искать только видео (wmv, avi):
-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wmv|avi)
- Искать только изображения (jpg, gif):
-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(jpg|gif)
- Искать только музыку (wma, mp3):
-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wma|mp3)
- Поиск по формату с уточнением фразы (например, исполнитель):
-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(jpg|gif) “britney spears”
Эти примеры дают представление — вы можете менять расширения, ключевые слова и сочетания по задаче.
Заметки о точности
Поиски такого типа дают много «шума»: нерелевантные результаты и пустые каталоги. Часто приходится просматривать много результатов, прежде чем найдёте что-то полезное.
Когда это не сработает
- Сервер настроен на отключение directory listing (списка директорий).
- В каталоге есть index.html/index.php, перенаправляющая или показывающая кастомную страницу.
- Доступ ограничён через .htaccess, HTTP-аутентификацию или ограничения на уровне сервера/облачной платформы.
- Контент динамически формируется и не представлен в виде статического списка файлов.
Этические и правовые соображения
- Публично доступный файл не означает, что его можно легально распространять или использовать. Личные данные, защищённые авторским правом или конфиденциальная информация требуют осторожности.
- Если вы нашли персональные данные (ФИО, адреса, документы), следует уведомить администратора сайта или владельца сервера, а не копировать или публиковать такие данные.
- Для профессионального аудита используйте договора с владельцем ресурса (scope, Rules of Engagement).
Альтернативные и легитимные подходы
- Просмотр sitemap.xml и robots.txt для легального обнаружения публичных ресурсов.
- Использование инструментов для безопасности (сканеры уязвимостей) с письменным разрешением.
- Запрос прав доступа у владельца сайта для проведения аудита.
- Архивы (Wayback Machine) и публичные репозитории для исторических версий файлов.
Методика быстрого аудита своего сайта (мини-SOP)
- Проверьте, включён ли directory listing на сервере. Для Apache — убедитесь, что в конфигурации или .htaccess отсутствует опция Indexes.
- Проверьте наличие index.html/index.php во всех публичных каталогах.
- Проверьте права на файловой системе: публичные каталоги должны иметь минимально необходимые права чтения.
- Настройте правила отказа доступа по IP или включите аутентификацию для админских и приватных директорий.
- Просканируйте сайт внешними поисковыми запросами (собственными Google-запросами) и локальным инструментарием, чтобы обнаружить «утёкшие» каталоги.
- Внедрите процесс регулярной проверки и запуска тестов после деплоя.
Критерии приёмки
- Directory listing отключён на всех публичных каталогах.
- Все каталоги, не предназначенные для публичного доступа, защищены паролем или имеют соответствующие разрешения.
- Нет «забытых» бэкапов, копий баз данных или рабочих файлов в публичных папках.
Чеклист для владельцев сайтов
- Установлен index-файл в каждой публичной папке.
- Отключён directory listing (Options -Indexes для Apache).
- Проверены и исправлены права доступа (chmod/ACL).
- Настроена базовая аутентификация для приватных директорий.
- Удалены старые резервные копии и временные файлы из публичных папок.
- Настроено логирование и оповещения о необычных запросах к директориям.
План реагирования при обнаружении открытых личных данных
- Немедленно прекратите дальнейшее распространение или скачивание данных.
- Зафиксируйте URL и содержимое (скриншоты, хэши) для отчёта, не публикуя данные.
- Свяжитесь с владельцем сайта или хостинг-провайдером с описанием уязвимости.
- Если данные относятся к персональной информации граждан ЕС или других юрисдикций, ознакомьтесь с требованиями уведомления (GDPR и др.) и при необходимости сообщите соответствующим органам.
- При необходимости выполняйте передачу данных только в рамках официального инцидент-репорта.
Практические подсказки и эвристики
- Начинайте с более узких запросов (формат файла + ключевое слово) — меньше шума.
- Комбинируйте несколько расширений в скобках (jpg|png|gif) и ограничивайте по домену, если нужно (site:example.com).
- Для проверки настроек своего сайта используйте curl или браузер в режиме инкогнито, чтобы увидеть поведение сервера без кэшированных страниц.
Глоссарий в одну строку
- Index-файл — стандартный файл (index.html/index.php), который сервер отдаёт при открытии директории.
- Directory listing — автоматический список файлов в директории, выдаваемый сервером при отсутствии index-файла.
- Google Dork — специализированный поисковый запрос, использующий операторы поисковой системы для выявления специфичных результатов.
Риски и их смягчение
- Утечка персональной информации: регулярно сканируйте публичные каталоги и реагируйте на обнаруженные данные.
- Нарушение авторских прав: удаляйте или защищайте материалы с правовой защитой.
- Компрометация бэкапов: храните резервные копии вне публичной папки и применяйте шифрование.
Заключение
Поисковые строки, показанные выше, позволяют быстро находить открытые каталоги и файлы. Однако цель использования этой техники должна быть этичной: аудит своей инфраструктуры, исследование угроз и обучение. Если вы владеете сайтом — используйте чеклист из этой статьи, чтобы закрыть ненужные публичные каталоги и защитить данные пользователей.
Если вы пробовали такие поиски — напишите в комментариях, что интересного вы находили (не публикуйте приватные данные).
Image Credit : dullhunk
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone