Blog 24/7

przejęcie sesji

TAB. 1Hasłoobie formy
Po angielskusession hijacking
Którą formą pisaćobie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski.
Inne formykradzież sesji · przejęcie ciasteczka sesyjnego · wejście w sesję ofiary
KategoriaAtaki i socjotechnika

Przejęcie sesji (session hijacking) to atak, w którym napastnik zdobywa identyfikator trwającej sesji zalogowanego użytkownika i posługuje się nim, by działać na jego koncie. OWASP opisuje go jako wykorzystanie mechanizmu kontroli sesji WWW, który zwykle opiera się na tokenie sesyjnym [1]. Napastnik nie musi znać hasła ani przechodzić uwierzytelniania: serwer uznaje go za ofiarę, bo przedstawia ważny token. MITRE ATT&CK zauważa, że skradzione ciasteczko sesji pozwala ominąć uwierzytelnianie wieloskładnikowe, ponieważ sesja jest już uwierzytelniona [4].

Jak działa

Protokół HTTP nie pamięta, kto wysłał poprzednie żądanie. Aplikacja po zalogowaniu wydaje więc przeglądarce losowy identyfikator, najczęściej w ciasteczku, i przy każdym kolejnym żądaniu sprawdza, do kogo należy. Kto ma ten identyfikator, ten jest zalogowany. Przejęcie sesji polega na zdobyciu go i dołączeniu do własnych żądań.

RYS. 1Przejęcie sesji skradzionym ciasteczkiem

Odmiany

OWASP wymienia kilka dróg, którymi token sesji może trafić do napastnika [1].

DrogaNa czym polegaPrzykładowa obrona
Przewidywalny tokenidentyfikator z słabego generatora [1]co najmniej 64 bity entropii [2]
Podsłuch sesjiodczyt tokenu z ruchu sieciowego [1]HTTPS, flaga Secure [2]
Atak po stronie klientaXSS, złośliwy JavaScript, trojany [1]flaga HttpOnly [2]
Man-in-the-middlepośrednik między klientem a serwerem [1]uwierzytelnianie odporne na phishing
Man-in-the-browserprzejęta sama przeglądarka [1]usunięcie złośliwego oprogramowania
Utrwalenie sesjiofiara loguje się z identyfikatorem napastnika [3]nowy identyfikator po logowaniu [3]

Zgadywanie identyfikatora jest dziś rzadkie, bo wymaga słabego generatora. OWASP wylicza, że przy 64 bitach entropii napastnik próbujący 10 000 identyfikatorów na sekundę potrzebowałby średnio około 585 lat, by trafić w ważną sesję [2]. Dlatego współczesne ataki celują w kradzież gotowego identyfikatora, a nie w jego odgadnięcie.

Podsłuch dotyczy zwłaszcza stron bez szyfrowania używanych w sieciach otwartych, co opisuje hasło zagrożenia publicznych sieci Wi-Fi. Atak przez pośrednika to dziś najczęściej phishing AiTM (adversary-in-the-middle), w którym reverse proxy przechwytuje ciasteczko wydane po poprawnym logowaniu. Session fixation działa odwrotnie: napastnik nie kradnie identyfikatora, tylko narzuca go ofierze przed zalogowaniem. MITRE opisuje tę słabość jako CWE-384, czyli ustanowienie nowej sesji bez unieważnienia istniejącego identyfikatora [3].

Osobną drogą jest infostealer, który kopiuje ciasteczka z plików przeglądarki na zainfekowanym komputerze. Z punktu widzenia strony wygląda to jak zwykłe żądanie z ważną sesją.

W WordPressie

WordPress przechowuje stan zalogowania w ciasteczkach. Ciasteczko wordpress_[hash] służy uwierzytelnianiu w obszarze /wp-admin/, a wordpress_logged_in_[hash] wskazuje, że użytkownik jest zalogowany i kim jest [5]. Zawierają nazwę użytkownika, czas wygaśnięcia i skrót potwierdzający ważność sesji; z hasła trafiają tam tylko 4 znaki jego skrótu, więc hasła nie da się z ciasteczka odtworzyć [5]. Nie trzeba go jednak odtwarzać: do przejęcia sesji wystarczy samo ciasteczko.

Funkcja wp_set_auth_cookie() przy opcji „Zapamiętaj mnie” ustawia ciasteczko trwałe, domyślnie ważne 14 dni, a bez niej ciasteczko wygasające po zamknięciu przeglądarki [6]. Czas ten zmienia filtr auth_cookie_expiration [5]. Przy logowaniu rdzeń tworzy też token w menedżerze sesji WP_Session_Tokens [6], dzięki czemu sesję można unieważnić po stronie serwera. W profilu użytkownika służy do tego przycisk „Log Out Everywhere Else”, wylogowujący pozostałe urządzenia [7].

Jedną z dróg kradzieży ciasteczka administratora jest XSS (Cross-Site Scripting) we wtyczce albo motywie, bo skrypt wykonuje się w przeglądarce zalogowanego użytkownika. Właściwe flagi ciasteczek ograniczają skutki: ciasteczko z flagą HttpOnly nie jest dostępne dla JavaScriptu [2].

Zagrożenia i skutki

Przejęta sesja daje te same uprawnienia co konto ofiary. W panelu WordPressa oznacza to możliwość instalowania wtyczek, zakładania kont i zmiany treści, a więc w praktyce przejęcie konta i często całej strony. MITRE opisuje przypadki użycia skradzionych ciasteczek do dostępu do poczty i zasobów chmurowych z pominięciem MFA [4].

CERT Polska opisał w czerwcu 2025 roku kampanię grupy UNC1151, która wykorzystywała błędy XSS w poczcie Roundcube (CVE-2024-42009 i CVE-2025-49113) [8]. Za najpoważniejszy skutek takiej podatności uznano całkowite przejęcie kontroli nad kontem poprzez przejęcie sesji użytkownika [8].

Jak się bronić

OWASP w ściągawce o zarządzaniu sesją zaleca [2]:

  • identyfikatory o entropii co najmniej 64 bitów;
  • nowy identyfikator po każdej zmianie poziomu uprawnień, przede wszystkim po zalogowaniu;
  • ciasteczka z atrybutami Secure, HttpOnly i SameSite, najlepiej w trybie Strict, a dla najsilniejszej ochrony z prefiksem nazwy __Host-;
  • limit bezczynności od 2–5 minut dla aplikacji wysokiej wartości do 15–30 minut dla aplikacji niskiego ryzyka oraz limit bezwzględny;
  • unieważnienie sesji po stronie serwera przy wylogowaniu.

OWASP zaznacza, że wiązanie sesji z adresem IP albo nagłówkiem User-Agent pomaga wykrywać nadużycia, ale sprawny napastnik może te kontrole obejść [2]. Na poziomie całej strony pomaga HSTS (HTTP Strict Transport Security), wymuszający połączenia przez TLS. MITRE zaleca też regularne usuwanie trwałych ciasteczek w przeglądarkach [4].

Przy podejrzeniu przejęcia sesji administratora WordPressa trzeba unieważnić pozostałe sesje, a następnie sprawdzić, co napastnik mógł zrobić w tym czasie: listę kont, wtyczek i ostatnie zmiany treści, a przy śladach włamania przejść czyszczenie przejętej strony.

TAB. 2

Przypisy

8
  1. [1] Session hijacking attack · OWASP
  2. [2] Session Management Cheat Sheet · OWASP
  3. [3] CWE-384: Session Fixation · MITRE
  4. [4] Use Alternate Authentication Material: Web Session Cookie, Technique T1550.004 · MITRE ATT&CK
  5. [5] Cookies — Advanced Administration Handbook · WordPress.org
  6. [6] wp_set_auth_cookie() — Code Reference · WordPress.org
  7. [7] Users Your Profile screen · WordPress.org
  8. [8] Kampania UNC1151 wykorzystująca podatność w oprogramowaniu Roundcube do kradzieży poświadczeń · CERT Polska
TAB. 3

Hasła w tym artykule

12
TAB. 4

Linkują tutaj

23

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com