Ciasteczka
Ciasteczka to niewielkie pliki tekstowe zapisywane w przeglądarce użytkownika przez odwiedzane strony internetowe. Służą do przechowywania informacji, takich jak preferencje użytkownika, status logowania czy dane potrzebne do personalizacji treści. Dzięki nim witryny mogą „pamiętać” użytkownika i dostosowywać swoje działanie do jego potrzeb.
W kontekście cyberbezpieczeństwa i testów aplikacji ciasteczka mogą przechowywać dane wrażliwe (np. tokeny sesji), a ich niewłaściwe zabezpieczenie może prowadzić do ataków, takich jak Session Hijacking czy Cross-Site Scripting (XSS).
Rodzaje ciasteczek
- Ciasteczka sesyjne (Session Cookies) — przechowywane tylko do momentu zamknięcia przeglądarki. Przykład: koszyk w sklepie internetowym działający tylko w czasie trwania sesji.
- Ciasteczka trwałe (Persistent Cookies) — zapisane na dysku, z określoną datą wygaśnięcia. Pozostają aktywne po zamknięciu przeglądarki. Przykład: zapamiętanie danych logowania między wizytami.
- Ciasteczka pierwszej strony (First-party Cookies) — ustawiane bezpośrednio przez odwiedzaną witrynę, np. do zapamiętywania ustawień języka.
- Ciasteczka stron trzecich (Third-party Cookies) — ustawiane przez inne domeny niż odwiedzana, często wykorzystywane w reklamie i śledzeniu aktywności.
Architektura i bezpieczeństwo ciasteczek
Ciasteczko składa się z pary klucz–wartość oraz metadanych takich jak:
- Domain i Path — określają, dla jakiej domeny i ścieżki ciasteczko jest ważne.
- Secure — ciasteczko jest przesyłane tylko przez połączenie HTTPS.
- HttpOnly — ciasteczko nie jest dostępne z poziomu JavaScript (chroni przed XSS).
- SameSite — ogranicza wysyłanie ciasteczek tylko do żądań z tej samej domeny, co zapobiega atakom CSRF.
- Expires / Max-Age — określa czas życia ciasteczka.
- Informować użytkownika o użyciu ciasteczek.
- Uzyskiwać zgodę na ich przechowywanie (szczególnie dla celów reklamowych i analitycznych).
- Zapewniać możliwość zarządzania zgodą lub wycofania jej.
Zgodnie z regulacjami takimi jak GDPR (RODO) czy CCPA, strony internetowe muszą:
Ciasteczka w testach aplikacji
W narzędziach deweloperskich przeglądarki (skrót F12 → zakładka Application w Chrome) można podejrzeć ciasteczka ustawione przez witrynę, w tym ich wartości, domenę, czas wygaśnięcia i ustawione flagi bezpieczeństwa.
Podczas testowania aplikacji — szczególnie testów bezpieczeństwa — należy:
- Sprawdzać, czy ciasteczka zawierające dane wrażliwe mają ustawione flagi Secure i HttpOnly.
- Weryfikować ustawienia SameSite w kontekście ochrony przed CSRF.
- Analizować, czy dane w ciasteczkach są szyfrowane lub podpisywane, aby zapobiec manipulacjom.
- Testować zgodność aplikacji z politykami prywatności i wymogami prawnymi.