Session hijacking

Session hijacking of sessiehijacking is een vorm van hacking waarbij de sessie van een ander overgenomen wordt. Een sessie begint meestal met een handshake waarbij gegevens ter authenticatie uitgewisseld worden. Het achterhalen van deze gegevens kan toegang geven tot de account van de legitieme gebruiker.

Servers houden van elke verbonden client gegevens over hun sessie bij.

In webtechnologie worden de sessiegegevens (de session key) opgeslagen in een cookie op de client. De inhoud van cookies kan op verschillende manieren gestolen worden.

Het hijacken van een TCP-sessie kan ook. Bijvoorbeeld als de hacker een machine beheerst op de route van de netwerkverbinding. Door het gebruik van een sniffer kan een man-in-the-middle-aanval uitgevoerd worden.

Methoden bewerken

Er zijn diverse methoden, met verschillende technologie.

Preventie bewerken

Zowel gebruikers als ontwikkelaars kunnen sessiehijacking voorkomen:

  • Door het gebruik van lange willekeurige getallen of strings als sessiesleutel.
  • Elke keer een nieuw sessie-id gebruiken na succesvol inloggen.
  • Versleutelen van gegevens, met name de sessiesleutel.
  • Controle op het juiste IP-adres. Beschermt niet als de aanvaller hetzelfde IP-adres deelt en is storend voor gebruikers met wisselende IP-adressen.
  • Verander de waarde van de cookie bij elke transactie.
  • Uitloggen als je klaar bent met het gebruik van een website.