August 9, 2025
2 min read
HTTPOnly cookies są praktycznym środkiem zaradczym przeciwko atakom skryptowym po stronie klienta, w szczególności cross-site scripting (XSS). Gdy atrybut HTTPOnly
jest ustawiony w pliku cookie, instruuje przeglądarki, aby uniemożliwiły dostęp do tego pliku cookie ze strony skryptów JavaScript po stronie klienta, na przykład poprzez document.cookie
. Ta właściwość bezpieczeństwa jest skierowana w szczególności przeciwko wektorowi ataku, w którym złośliwe skrypty próbują przejąć identyfikatory sesji lub wrażliwe dane, wykorzystując luki w silniku skryptowym przeglądarki.
Oceny empiryczne pokazują, że włączenie flagi HTTPOnly w sesyjnych plikach cookie znacznie zmniejsza ryzyko kradzieży sesji poprzez ataki XSS. W kontrolowanych środowiskach testów penetracyjnych badacze zaobserwowali:
Barth i in. odkryli, że „zdecydowana większość ataków XSS wykorzystuje zdolność JavaScriptu do odczytywania document.cookie i wykradania tokenów sesji” (Barth i in., 2008). Eksperyment polegał na symulowaniu ładunków XSS w aplikacjach internetowych z plikami cookie HTTPOnly i bez nich. Wyniki wykazały 100% wskaźnik niepowodzeń w próbach kradzieży plików cookie, gdy atrybut HTTPOnly był obecny, w porównaniu do 100% wskaźnika sukcesu, gdy go brakowało.
Dalsze badania podkreślają, że chociaż HTTPOnly nie zapobiega wszystkim formom ataków XSS — takim jak te, które modyfikują zawartość strony lub wykonują uwierzytelnione działania (CSRF) — stanowi znaczącą barierę przed najbardziej szkodliwymi skutkami XSS: kompromitacją sesji.
Kluczowe wnioski:
W praktyce implementacja HTTPOnly powinna być łączona z innymi dyrektywami bezpieczeństwa (takimi jak flagi Secure i SameSite) w celu zapewnienia kompleksowej ochrony. Ograniczenia obejmują:
Ogólnie rzecz biorąc, skuteczność tego atrybutu jest dobrze ugruntowana w badaniach akademickich i branżowych, co potwierdza jego rolę jako niezbędnego mechanizmu kontroli bezpieczeństwa sesji w aplikacjach internetowych.