CTF. Курс молодого бойца. Начальные задания категории WEB #2.

CTF. Курс молодого бойца. Начальные задания категории WEB #2.

https://t.me/hacker_sanctuary

Данный пост будет носить практический характер. В нём мы рассмотрим задания начального уровня в категории WEB. Данные задания часто встречаются в простых CTF'ах и иногда, как разминочные, в более крупных.

Задания будут взяты с известного сайта с различными задачами (CTF и не только) - https://www.root-me.org/

Будем решать задачи из категории: Web - Server

Прямая ссылка: https://www.root-me.org/en/Challenges/Web-Server/

Предыдущие задания из данной категории вы можете найти на канале.

Часть 1 - https://telegra.ph/CTF-Kurs-molodogo-bojca-Nachalnye-zadaniya-kategorii-WEB-08-17

Ссылка на пост - https://t.me/hacker_sanctuary/92

Пример 1.

Решим задание "Backup file". Из названия видно, что речь пойдёт про бекапы (бекап - резервная копия каких либо данных для экстренных случаев).

Прямая ссылка на задание - https://www.root-me.org/en/Challenges/Web-Server/Backup-file

Приступаем к заданию и попадаем на форму ввода логина и пароля.

Данное задание по большей части основано на некотором прямом знании, нежели логики и рассуждениям. При создании бекапа часто делается просто копия объекта, однако его наименование нужно немного изменить, для этого могут добавляться различные символы в конец файла (например, чтобы убрать расширение *.php, для того, чтобы файл не исполнялся при обращении к нему).

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

  • backup.zip
  • backup.tar.gz
  • index.zip
  • index.tar.gz
  • index.php_
  • index.php1
  • index.phps
  • index.php~

При указании в адресной строке последнего названия (index.php~) произойдёт скачивание файла с исходным кодом.

Открыв данный файл в текстовом редакторе получим исходный код (в том числе и серверную часть) обработчика формы.

И получаем пароль для подтверждения решения данного задания.

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

Пример 2.

Решим ещё одно задание. Название - "HTTP directory indexing". Судя по названию, задание нацелено на индексацию директорий на веб-сервере.

Прямая ссылка на задание - https://www.root-me.org/en/Challenges/Web-Server/HTTP-directory-indexing

Приступаем к заданию и попадаем на следующее веб-приложение.

Никаких видимых подсказок нет, по этому посмотрим исходный код.

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

Отлично, она индексируется (мы видим её содержимое). В данной папке находится файл (который и подключается к предыдущей страничке) и папку. Зайдём в папку и посмотрим её содержимое.

Видим некоторый текстовый файл "admin.txt". Попробуем открыть его.

Получаем пароль.

Данное задание акцентирует внимание на таком свойстве, как индексация. Смысл индексации заключается в том, что перед вам предстаёт по сути папка с файлами и другими папками и всё это находится на сервере. Не редкость, когда про индексацию забывают в важных местах веб-приложения, и таким образом любой желающий может получить доступ к конфиденциальным файлам или исходным кодам.

Заключение.

В данном посте были рассмотрены 2 достаточно простых, но важных задания. Данные задания часто встречаются в CTF'ах (как один из шагов задания или как подсказки), а также приближены к реальной безопасности и пентестам.

Report Page