Файл .DS_Store: Подарок для исследователя и головная боль для владельца сайта

Добро пожаловать на наш форум!

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


Gibby

Автор
Команда проекта

Регистрация
Сообщений
1,290
Репутация
43
Сделок
0.png

Что такое .DS_Store?

.DS_Store (Desktop Services Store) — это скрытый файл, создаваемый операционной системой macOS для хранения метаданных о папке. Он используется Finder для записи таких параметров, как расположение значков, порядок сортировки, выбранный вид (иконки, список и т.д.), фон папки и другие настройки интерфейса.

Информация, изложенная в статье, основана на моём личном опыте и практических наблюдениях. Однако формат и содержание файла .DS_Store могли изменяться с течением времени. Ранее этот файл мог содержать информацию о вложенных каталогах и файлах, однако, как уточнили специалисты, в текущих версиях macOS это уже не так. Тем не менее, в определённых ситуациях .DS_Store всё ещё может быть полезен для исследования структуры сайта.

Почему он появляется?

.DS_Store автоматически создаётся Finder'ом в любой папке, к которой пользователь macOS получил доступ через графический интерфейс. Это касается как локальных директорий, так и удалённых (например, через SMB, FTP или WebDAV).

Опасность .DS_Store

  1. разглашение структуры директорий .
    .DS_Store может содержать ссылки на файлы и директории, которые находятся в папке даже если они недоступны через веб-сервер. Это может дать злоумышленнику карту сайта и информацию о скрытых ресурсах.
  2. Утечка конфиденциальных данных:
    Если в .DS_Store указаны пути к конфиденциальным файлам (например, admin/config.php или backup.zip), это может помочь злоумышленнику в поиске уязвимостей.
  3. Помощь в атаках на безопасность:
    .DS_Store может упростить взлом сайта, так как злоумышленник получает информацию о структуре файлов и возможно даже о путях к чувствительным данным.

Почему он появляется на сайтах?

.DS_Store появление его на сайте:
  1. Ошибка при загрузке файлов:
    Разработчик использовал macOS для работы с проектом и случайно загрузил .DS_Store вместе с другими файлами на сервер.
  2. Автоматическая генерация:Если сервер поддерживает протоколы WebDAV, SMB или аналогичные, то .DS_Store может быть создан Finder'ом при доступе к папкам через macOS.
  3. Недостаточная очистка:При разработке или деплое проекта .DS_Store не был исключён из файлов для загрузки.

Чем полезен для исследования в Bug Bounty?

  1. Изучение структуры сайта:
    .DS_Store позволяет узнать о файлах и папках, которые могут быть скрыты от обычных пользователей. Например, можно обнаружить:
    Страницы администратора,
    Резервные копии,
    Временные файлы,
    Конфигурационные файлы.
  2. Поиск уязвимостей:
    Найдя .DS_Store исследователь может определить пути к файлам с конфиденциальной информацией или скрытые функции, интерфейсы сайта которые менее защищены .
  3. Автоматизация анализа:
    С помощью инструмента который я разработал специально для этой статьи:
    DsSScan при его помощи можно легко извлечь полезную информацию из .DS_Store и ускорить процесс анализа.

Как предотвратить появление .DS_Store?

  1. Игнорирование файла при загрузке:
    Настройте системы деплоя, чтобы .DS_Store не загружался на сервер. Например, добавьте его в .gitignore .
  2. Удаление перед загрузкой:
    Используйте команды для поиска и удаления .DS_Store перед деплоем:
    find . -name ".DS_Store" -delete
  3. Настройки в macOS:
    Вы можете отключить создание .DS_Store в сетевых директориях, выполнив следующую команду:
    defaults write com.apple.desktopservices DSDontWriteNetworkStores true
  4. Настройка сервера:
    Добавьте правило в конфигурацию веб-сервера (например, Nginx или Apache), чтобы доступ к .DS_Store блокировался:
    1. Apache:
      <Files ".DS_Store">
      Require all denied
      </Files>
    2. Nginx :
      location ~ /\.DS_Store {
      deny all;
      access_log off;
      log_not_found off;
      }
  5. Проверка безопасности :
    Используйте инструменты для аудита безопасности, чтобы сканировать сервер на наличие .DS_Store и других чувствительных файлов.
Спасибо, что прочитали статью. Я буду признателен, если вы оставите комментарий, подпишитесь. Удачи вам в охоте и обеспечение безопасности вашего сайта! (Возможно, я что-то упустил, вы также можете дополнить статью своим комментарием).
 
Сверху