Найти тему

CTF — HTTP Cookies

Оглавление

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

-2

Из названия уже следует, что уязвимость связана с куки.

Cookie (куки) — небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. Хранение важных данных в куки может быть уязвимостью.

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

Ссылки

CTF - Capture The Flag

https://www.root-me.org

Решение

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

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

-3

На страничке расположена форма сбора e-mail адресов. И можно даже эти адреса посмотреть по ссылке "Saved email adresses". Попробуем это сделать.

-4

You need to be admin. Только админ имеет право на просмотр списка e-mail адресов. Посмотрим код страницы.

-5

Ещё одна подсказка нам оставлена в комментарии. Разработчик забыл его удалить:

<!--SetCookie("ch7" , "visiteur" );-->

В куки ch7 записывается статус текущего пользователя: "visiteur". Очевидно, что у админа статус должен быть другой. Проверим, как у нас обстоят дела с куки.

Раз мы будем проверять куки, то нам понадобится какой-либо инструмент для работы с ними. Я работаю в Google Chrome, ставлю туда расширение EditThisCookie.

-6

Давайте посмотрим какие куки на нашем целевом сайте.

-7

Всё как и предполагалось, куки ch7=visiteur. Хранить статус пользователя в куки — не самая лучшая идея. Изменим значение на c7=admin.

-8

Снова переходим по ссылке "Saved email adresses".

-9

А вот и флаг: ml-SYMPA

Валидируем.

-10

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

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

  1. Пользователь всегда может подменить куки. Не храните там важных данных.
  2. Валидируйте куки.

Дополнительные решения

Раз уж мы знаем как искать флаг, то упростим наше решение. Допустим, у нас нет возможности или желания устанавливать расширения для работы с куки. Открываем консоль (F12) и меняем куки там:

document.cookie = 'ch7=admin'
-11

Смотрим список e-mail.

-12

Это было просто! Хотите ещё проще? Пожалуйста, выполняем curl:

curl -H "cookie: ch7=admin" -v http://challenge01.root-me.org/web-serveur/ch7/?c=visiteur
-13

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

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