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

CTF — HTTP - Cookies

CTF

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

ctf

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

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

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

Ссылки

https://www.root-me.org

Решение

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

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

ctf

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

ctf

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

ctf

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

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

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

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

ctf

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

ctf

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

ctf

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

ctf

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

Валидируем.

ctf

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

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

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

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

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

document.cookie = 'ch7=admin'

ctf

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

ctf

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

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

ctf

Теги

 

Похожие материалы

CTF — JSON Web Token (JWT) - Introduction

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

Теги