Web güvenliğindeki popüler konulardan olan session fixation, session hijacking saldırısına örneklerle bir bakalım.
Meali oturum sabitleme olan session fixation nedir ?
Bir uygulamaya login olunduktan sonra id yenilenmiyorsa session fixation zafiyetinden bahsedilir. Oturum sabitleme açığından faydalanarak bir saldırgan kullanıcının/kurbanın oturumunu çalabilir, bu eyleme de session hijacking denir.
Oturum sabitleme saldırısında, saldırgan bildiği bir id ile, kullanıcının oturum açma işlemini gerçekleştirmeden önce kullanmasını sağlar ve bu sayede kurbanın, saldırgan tarafından gönderilen url ile oturuma başlamasıyla saldırgan kullanıcının oturumunu ele geçirmiş olur.
Session Hijacking için kullanılan dört ana method vardır:
-
Session Fixation
Aşağıda detaylıca göreceğiz.
-
Session Sniffing
Saldırgan bir dinleyici/izleyici yöntemiyle (örn: Wireshark ile), session id ‘ye ulaşıyor olması, bkz:
-
XSS (Cross-Site Scripting)
Saldırgan, zararlı JavaScript kodu ile kurbana hazırlanmış bir bağlantı gönderirse, kurban bağlantıyı tıkladığında JavaScript çalışacak ve saldırgan tarafından verilen talimatları tamamlayacaktır. Örnek olması açısından session id ekrana bastırılmıştır, tabi ki saldırgana da gönderilebilir.
<SCRIPT>alert(document.cookie);</SCRIPT> -
Malware (Kötü Amaçlı / İstenmeyen Yazılımlar)
Bir kullanıcının bilgisi olmadan tarayıcı cookie dosyalarını çalmak için browser hijacking yöntemini kullanabilir.
SESSION FIXATION
Şimdi adım adım bir bakalım
- Saldırgan web sunucusunda oturum açar ,
- Sunucu bir SID / oturum id ‘si tanımlar,
- Bu session ID ile saldırganın kurbana bir link göndermesi gerekir,
- Kurbanın gelen bu bağlantıya tıklaması ve sunucuyla bağ kurması gerekir,
- Sunucu oturum işleminin önceden zaten kurulduğunu görür ve yeni bir oturum kimliği oluşturma gereksinimi duymaz. (işte zafiyet burada)
- Böylece saldırgan oturuma erişmiş olur.
URL tabanlı basit ve anlaşılır bir görsel.