Ana içeriğe geç

Oturum Ele Geçirme

Session Hijacking

İngilizcesi
Session Hijacking
Türkçe karşılığı
oturum çalma
Okunuşu
seşın hayceking

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/session-hijacking

Kısaca

Oturum ele geçirme, bir kullanıcının oturum kimliğini ya da token'ını çalarak veya tahmin ederek, parolasını bilmeden o kullanıcı gibi davranmaktır.

Oturum ele geçirme (session hijacking) nedir?

Oturum açtıktan sonra bir web sitesi genellikle tarayıcınıza bir çerezde oturum kimliği ya da JWT gibi bir token verir; böylece her istekte parolanızı sormak zorunda kalmaz. Bu değeri sunan kişi sizmişsiniz gibi işlem görür. Oturum ele geçirme, bu değeri elde etmek ve saldırganın kendi tarayıcısından kullanmaktır; bu da parolayı ve çoğu zaman çok faktörlü kimlik doğrulamayı tamamen atlar.

Saldırganlar oturum token'larını çeşitli yollarla elde eder: HttpOnly olarak işaretlenmemiş çerezleri okuyan XSS betikleri, çerezleri tarayıcıdan kopyalayan kurbanın cihazındaki kötü amaçlı yazılımlar, paylaşılan ağlarda şifresiz HTTP trafiğini dinleme, URL'lerde veya sunucu günlüklerinde sızan token'lar ve tahmin edilebilen zayıf, öngörülebilir oturum kimlikleri. İlgili bir varyant olan session fixation ise tersine çalışır: saldırgan, kurban oturum açmadan önce tarayıcısına bilinen bir oturum kimliği yerleştirir, kurban kimliğini doğruladıktan sonra da onu kullanır.

Savunmalar arasında her şeyi HSTS ile birlikte HTTPS üzerinden sunmak, oturum çerezlerini Secure, HttpOnly ve SameSite olarak işaretlemek, uzun rastgele oturum kimlikleri üretmek ve her oturum açmada ve ayrıcalık değişikliğinde yeni bir oturum kimliği vermek bulunur. Oturumlar hareketsizlik sonrasında sona ermeli ve mutlak bir ömre sahip olmalı, kullanıcılar etkin oturumlarını görüp iptal edebilmeli ve e-posta adresini değiştirmek gibi hassas işlemler yeniden kimlik doğrulaması gerektirmelidir. Bu, bir festival girişinde aldığınız bilekliğin kopyalanmasına benzer: görevliler biletinize değil bilekliğe bakar, bu yüzden kopya onları içeri sizmiş gibi sokar.

Oturum ele geçirme sıklıkla CSRF ile karıştırılır. CSRF'te saldırgan oturum token'ını hiç görmez; kurbanın tarayıcısını, onu otomatik olarak taşıyan bir istek göndermeye kandırır. Oturum ele geçirmede ise saldırgan token'a gerçekten sahiptir ve oturum geçerli kaldığı sürece onu her yerden kullanabilir.

Önemli noktalar

  • Oturum ele geçirme, bir kullanıcının kimliğine bürünmek için oturum kimliğini veya token'ını çalar.
  • Yaygın kaynaklar XSS, kötü amaçlı yazılım, şifresiz trafik, sızan URL'ler veya günlükler ve öngörülebilir kimliklerdir.
  • Secure, HttpOnly ve SameSite çerezleri, HTTPS ve uzun rastgele kimlikler kullanın.
  • Session fixation'ı önlemek için oturum açıldığında yeni bir oturum kimliği verin.
  • Oturumları sona erdirin, iptale izin verin ve hassas işlemler için yeniden kimlik doğrulaması isteyin.

Örnek

Çalınması ve kötüye kullanılması zor bir oturum çerezijavascript
import { randomBytes } from "node:crypto";

// A long, random session ID that cannot be guessed
const sessionId = randomBytes(32).toString("base64url");

res.cookie("sid", sessionId, {
  httpOnly: true,         // scripts, including injected XSS, cannot read it
  secure: true,           // only ever sent over HTTPS
  sameSite: "lax",        // not sent on most cross-site requests
  maxAge: 30 * 60 * 1000, // expires after 30 minutes
});

// After every successful sign-in, issue a brand-new session ID
// so an ID planted before sign-in (session fixation) becomes useless

Sık sorulan sorular

Oturum ele geçirme ile session fixation arasındaki fark nedir?

Oturum ele geçirmede saldırgan, kurbanın zaten sahip olduğu bir oturum kimliğini çalar. Session fixation'da ise saldırgan, oturum açılmadan önce kurbana kendisinin zaten bildiği bir oturum kimliği verir; sunucuların kimlik doğrulamadan sonra yeni bir kimlik vermesi gerekmesinin nedeni budur.

İki faktörlü kimlik doğrulama oturum ele geçirmeyi önler mi?

Hayır. İki faktörlü kimlik doğrulama oturum açma adımını korur, ancak çalınmış bir oturum token'ı bu adımı zaten geçmiş bir oturumu temsil eder. Kısa oturum ömürleri, cihaza bağlama ve hassas işlemler için yeniden kimlik doğrulaması zararı sınırlar.

HTTPS oturum ele geçirmeyi önleyebilir mi?

HTTPS, token'ların ağdan okunmasını engeller ve bu, başlıca yöntemlerden birini durdurur. XSS, cihazdaki kötü amaçlı yazılım veya günlüklerde sızan token'lar yoluyla hırsızlığı durdurmaz; bu yüzden çerez bayraklarına ve iyi oturum yönetimine yine ihtiyaç vardır.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar