Разбираем пятую задачку из нашего соревнования CTF. Задание называется cookie monster, 245 баллов за флаг.
Проходим по ссылке.
Забавный монстрик лопает печеньки.
Ссылки
Решение
Само слово cookie уже подсказывает в каком направлении копать.
Cookie (куки) — небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. Хранение важных данных в куки может быть уязвимостью.
Куки применяются для сохранения данных на стороне пользователя, на практике используется для:
- Аутентификации пользователя
- Хранения персональных предпочтений и настроек пользователя
- Отслеживания состояния сеанса доступа пользователя
- Ведения статистики о пользователях
Раз мы будем проверять куки, то нам понадобится какой-либо инструмент для работы с ними. Я работаю в Google Chrome, ставлю туда расширение EditThisCookie.
Давайте посмотрим какие куки на нашем целевом сайте.
role=user
Ай-ай-ай, как непрофессионально хранить в куки роль пользователя, я же её могу изменить. Давайте сменим роль на другую, например на admin.
Перезагружаем страничку, и мы админы!
А админам положен флаг:
evoctf{y4dC3raadSI_yay_i_like_cookies}
Безопасность
- Всегда помните, юзер может подменить куки. Не храните там важных данных.
- Валидируйте куки.