Опасность просмотра содержимого директорий

Добрый день, дорогие читатели!

Достаточно часто на сайтах включена опция просмотра содержимого директорий. Иными словами: пользователю доступен список всех файлов и директорий при обращении вида http://site.com/wp-content/plugins/. Вот так он может выглядеть:

 

Листинг директории

Листинг директории

В чем же заключается опасность такой конфигурации? Такой вопрос часто задают пользователи нашего сервиса weBBez, который умеет определять такие директории.

Давайте рассмотрим это на примере нашумевшей уязвимости в плагине Revolution Slider, которая была обнаружена и активно использовалась злоумышленниками этим летом. Она позволяла за один запрос получить содержимое любого файла в контексте блога на WordPress. Логично, что все нацеливались на файл wp-config.php, который содержит конфиденциальную информацию (более подробно об этом файле вы можете прочитать в нашей статье).

Подавляющее большинство сайтов, на которых был установлен этот плагин, злоумышленники получали из Google, вот таким запросом inurl:/wp-content/plugins/revslider/.

Плагин revslider с помощью Google

Плагин revslider с помощью Google

Роботы поисковой системы смогли проиндексировать директорию, в которой перечислены все установленные плагины.

Давайте убедимся, что все результаты получены исключительно для тех сайтов, где открыт листинг. Запрос inurl:/wp-content/plugins/revslider/ «index of» попросит Google вернуть только те результаты, где встречается фраза «index of» (характерный признак открытых директорий).

Открытые директории с indexof

Открытые директории с indexof

Как мы видим, количество результатов только увеличилось. Таким образом, в первую очередь под удар попадают сайты с таким недостатком конфигурации.

А теперь представим себе следующую картину: через неделю исследователи найдут серьезную уязвимость (скажем sql-инъекцию) уже в другом плагине. И в этом случае первыми в списке массового взлома окажутся подобные сайты. Google знает, какие плагины у них установлены. Остается его только спросить об этом 🙂

Ну как, мы вас убедили, что «открытые» директории это плохо?

А теперь пару слов о способах защиты. Не думайте, что использование robots.txt даст надежную защиту. У злоумышленников все равно останется возможность узнать список плагинов за один запрос.

Лучше всего разместите в корне сайта файл .htaccess (если его там еще нет) и поместите туда следующую строчку:

Options All -Indexes

Проверьте, что ваш сайт поддерживает использование файла .htaccess. А теперь обратитесь к директории с плагинами (http://site.com/wp-content/plugins/). Если вы увидите пустую страницу или фразу Forbidden, то все в порядке.

Спасибо за внимание!