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

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

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

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

Часть 3 - https://telegra.ph/CTF-Kurs-molodogo-bojca-Nachalnye-zadaniya-kategorii-WEB-2-09-21

Часть 4 - https://telegra.ph/CTF-Kurs-molodogo-bojca-Nachalnye-zadaniya-kategorii-WEB-4-09-23

Часть 5 - https://telegra.ph/CTF-Kurs-molodogo-bojca-Nachalnye-zadaniya-kategorii-WEB-5-10-15

Часть 6 - https://telegra.ph/CTF-Kurs-molodogo-bojca-Nachalnye-zadaniya-kategorii-WEB-6-12-02

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

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

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

Пример 1.

Решим задание - "CRLF"

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

Посмотрим описание.

По заданию нам надо внедрить неверные данные в лог. Также, стоит обратить внимание на название задание, т.к. оно является названием одной из веб-уязвимостей, связанной с модификацией ответа от сервера с помощью специальных символов CR и LF (\r\n).

Символы \r\n являются идентификаторами конца строки в HTTP. Они могут быть использованы для обозначения переноса строк и в сочетании с заголовками HTTP-запросов и ответов могут приводить к различным уязвимостям, включая HTTP Request Smuggling и HTTP Response Splitting.

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

Посмотрим, что нам предлагается в качестве задания.

Итак, есть лог аутентификации и форма. В логе мы видим записи вида "имя пользователя - не аутентифицирован/аутентифицирован". Судя по всему нам надо внедрить в лог сообщение "admin authenticated" не зная пароль, с помощью разбиения запроса, используя CRLF.

Попробуем сделать обычный запрос с аутентификацией.

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

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

Как можно заметить, сообщение успешно добавлено и мы получаем флаг. Задание решено.

Report Page