Найти тему

CTF — HTTP Directory indexing

Оглавление

Продолжаем решать задачки по информационной безопасности web-серверов. Сегодня задачка с портала rootme.org, называется "HTTP - Directory indexing". За решение задачки дают 15 баллов, чуть посложнее начального уровня.

-2

Снова в названии задачки есть подсказка. Видимо, уязвимость будет связана с возможностью просматривать содержимое директории:

По умолчанию веб-сервер возвращает список содержимого директории, если не находит в ней индексного файла.

Пример отображения содержимого директории в браузере.

-3

Ссылки

CTF - Capture The Flag

https://www.root-me.org

Решение

Переходим на страницу задания:

http://challenge01.root-me.org/web-serveur/ch4/

Видим пустую страницу, вероятно, для того, чтобы не акцентировать наше внимание на отвлекающих факторах.

-4

Просмотрим код страницы.

-5

Видим закомментированную строку:

<!--- include("admin/pass.html") -->

Делаем предположение, что это кусок забытого разработчиком кода, в котором он подсвечивал себе пароль. Вероятно, по ссылке "admin/pass.html" можно увидеть что-нибудь интересное. Переходим на http://challenge01.root-me.org/web-serveur/ch4/admin/pass.html

-6
Got rick rolled ? ;)
You're not the last :p

Что в вольном переводе означает: "Попался! Не волнуйся, не ты последний".

Не печалимся, кроме файла pass.html у нас есть ещё директория admin. Переходим в неё.

http://challenge01.root-me.org/web-serveur/ch4/admin/.

-7

Да. Веб сервер выводит содержимое директории, поскольку индексного файла нет. Видим, что внутри есть папка backup. Переходим в неё.

http://challenge01.root-me.org/web-serveur/ch4/admin/backup/

-8

И снова видим содержимое с файлом admin.txt. Посмотрим, что внутри.

-9

А внутри флаг: LINUX.

Валидируем.

-10

Флаг подходит, зарабатываем 15 очков.

Безопасность

Запретите выводить содержимое директории на боевом веб-сервере. Это можно сделать с помощью настроек веб-сервера.

.htaccess

Достаточно добавить одну строку в .htaccess:

Options -Indexes

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

Apache

В Apache добавьте в httpd.conf или apache2.conf:

<Directory /your/website/directory>Options -Indexes</Directory>

Расположение файла зависит от операционной системы.

  • Debian, Ubuntu

apache 1.3 /etc/apache/httpd.conf

apache 2.2 /etc/apache2/apache2.conf

  • FreeBSD

apache 1.3 /usr/local/etc/apache/httpd.conf

apache 2.2 /usr/local/etc/apache22/httpd.conf

  • Linux (CentOS, Fedora)

/etc/httpd/conf/httpd.conf

  • Gentoo

apache 2.0 /etc/apache2/httpd.conf

nginx

В nginx вывод содержимого директорий запрещён по умолчанию. Но его можно включить в настройках nginx.conf изменив autoindex on на autoindex off.

Источник:
https://internet-lab.ru/ctf_http_directory_indexing

Если вам понравилась статья, то ставьте 👍🏻 каналу. Пишите комментарии, задавайте вопросы, подписывайтесь.