Oturum çalma nedir?
Oturum çalma (session hijacking), bir kullanıcının giriş yapmış oturumunu tanımlayan oturum kimliğinin (genellikle çerez) saldırgan tarafından ele geçirilip aynı kullanıcıymış gibi kullanılmasıdır. Parola gerekmez; geçerli oturum kimliği kimlik doğrulamanın yerini tutar.
Oturum yönetimi, web uygulamalarında oturum açma işleminden sonra kullanıcıyı hatırlamanın yoludur. Bu kimlik çalınırsa, kimlik doğrulama adımları, hatta çoğu zaman iki adımlı doğrulama bile atlanmış olur.
Nasıl çalışır?
Çalma yolları çeşitlidir:
- XSS ile tarayıcıdaki çerezin okunması
- Şifrelenmemiş bağlantıda ağ dinlemesi
- Zararlı yazılımın tarayıcı çerez deposunu kopyalaması
- Tahmin edilebilir oturum kimlikleri
- Oturum sabitleme (session fixation): saldırganın kurbana önceden belirlediği kimliği kabul ettirmesi
Saldırgan çalınan çerezi kendi tarayıcısına yerleştirir ve uygulama onu geçerli oturum olarak kabul eder. Oturum süresi uzunsa pencere uzun sürer.
Sunucu ve hosting ortamında
Kontrol paneli (cPanel, Plesk), WordPress yönetici paneli ve ortak yönetim araçlarında çalınan oturum doğrudan yönetici yetkisi demektir. Paylaşımlı sunucuda PHP oturum dosyalarının (/tmp veya oturum dizini) herkesin okuyabileceği izinlerle bırakılması da başka hesapların oturumlarını görmesine yol açabilir. Kullanıcıya özel ve kısıtlı izinli oturum dizinleri bu yüzden önemlidir.
TLS kullanmayan veya karma içerik sunan sayfalar çerezin açık iletilmesine neden olabilir.
Nasıl korunulur?
- Tüm siteyi HTTPS'e alın ve HSTS uygulayın.
- Çerezlere
Secure,HttpOnlyve uygunSameSiteişaretlerini koyun. - Giriş sonrasında oturum kimliğini yenileyin; sabitlemeyi önleyin.
- Oturumlara makul süre ve boşta kalma zaman aşımı koyun; çıkışta sunucu tarafında geçersiz kılın.
- Hassas işlemlerde yeniden kimlik doğrulama isteyin.
- XSS'e karşı çıktı kodlama ve Content Security Policy kullanın.
- Yönetici girişlerinde IP kısıtlaması veya cihaz bağlama düşünün.
Sık yapılan hatalar
- Oturum kimliğini URL içinde taşımak.
- Parola değişince açık oturumları sonlandırmamak.
- İki adımlı doğrulama varsa oturumun güvende olduğunu varsaymak.
- Çerez işaretlerini yalnızca bazı sayfalarda uygulamak.
Sık sorulan sorular
İki adımlı doğrulama oturum çalmayı engeller mi?
Tek başına hayır. Doğrulama giriş anında yapılır; sonrasında çalınan geçerli çerez kabul edilir. Bu yüzden oturum güvenliği ayrıca sağlanmalıdır.
Oturumumun çalındığından şüphelenirsem ne yapmalıyım?
Tüm cihazlardan çıkış yapın, parolayı değiştirin ve etkin oturumları sonlandırın. Yönetici hesabıysa erişim günlüklerini inceleyin.
Halka açık Wi-Fi gerçekten risk mi?
Siteler HTTPS kullanıyorsa risk çok azalır. HTTPS olmayan sitelerde çerez açık gidebilir; bu durumda VPN kullanmak yardımcı olur.
İlgili terimler
- PoC (Kavram kanıtı)Bir açığın gerçekten var olduğunu gösteren örnek kod.
- RCE (Uzaktan kod çalıştırma)Saldırganın ağ üzerinden hedefte kendi kodunu çalıştırabildiği açık türü.
- RootkitKendini ve saldırganın etkinliklerini sistemden gizleyen zararlı yazılım.
- Sıfır gün açığı (zero-day)Üretici düzeltme yayımlamadan önce istismar edilen açık.
- Slowloris saldırısıYarım bırakılan çok sayıda yavaş HTTP bağlantısıyla web sunucusunun bağlantı havuzunu tüketen hizmet engelleme yöntemi.
- SQL enjeksiyonu (SQL injection)Kullanıcı girdisi üzerinden veritabanı sorgusuna kötü amaçlı komut sızdırma.