Флаги cookie
Задание 1Введение
Цель: Проверять атрибуты безопасности cookie.
Напишите missing_cookie_flags(header): по значению Set-Cookie верните список отсутствующих атрибутов из Secure, HttpOnly, SameSite — именно в этом порядке. Атрибуты разделены ;, регистр не важен.
Задание 2Теория и инструменты
Secure — только по HTTPS, HttpOnly — недоступна из JavaScript, SameSite — защищает от CSRF.
Без них сессионную cookie проще украсть через XSS или перехват.
Инструменты
- Python 3 или Node.js
- Встроенные тесты в редакторе
Больше теории — в разделе «Обучение: Защита (код)».
Задание 3Практика: напишите код
Примеры
missing_cookie_flags("sid=abc; Path=/; Secure; HttpOnly; SameSite=Lax")
→ []missing_cookie_flags("sid=abc")
→ ["Secure", "HttpOnly", "SameSite"]Ещё 4 скрытых тестов.
Пошаговый план — открывайте по одному шагу
- 1Отделите пару имя=значение (до первой
;). - 2Получите имена атрибутов без учёта регистра.
- 3Верните отсутствующие в заданном порядке.
Подсказки — каждая до решения стоит −25 очков
Задание 4Как защититься
Сессионные cookie всегда выдавайте с Secure; HttpOnly; SameSite=Lax или Strict.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.