Перейти к основному содержанию
 

CTF — HTTP Directory indexing

CTF

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

ctf

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

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

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

ctf

Ссылки

https://www.root-me.org

Решение

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

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

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

ctf

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

ctf

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

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

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

ctf

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

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

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

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

ctf

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

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

ctf

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

ctf

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

Валидируем.

ctf

Флаг подходит, зарабатываем 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.

Теги