Şu durumda oturum sabitleme açıklıkları oluşur:
- Bir web uygulaması kimlik doğrulamayı önce var olan sessionID'yi iptal etmeden yaparsa ve bu nedenle aynı sessionID'yi kullanmaya devam ederse
- Saldırgan kullanıcıyı bildiği bir sessionID'yi kullanmada zorlayabilirse. Böylece kullanıcı login olduktan sonra saldırgan kimlik doğrulaması yapılmış oturumu kullanabilir.
Black Box Test:
Önce sayfayı talep:
GET www.example.com
Şu cevabı alacağız:
HTTP/1.1 200 OK
...
Set-Cookie: JSESSIONID=0000d8eyYq3L0z2fgq10m4v-rt4:-1; Path=/; secure
...
Görüyoruz ki uygulama bir JSESSIONID set etti. Eğer şu taleple başarıyla kimlik doğrulamasından geçersek:
POST https://www.example.com/authentication.php HTTP/1.1
...
Cookie: JSESSIONID=0000d8eyYq3L0z2fgq10m4v-rt4:-1
...
Name=Meucci&wpPassword=secret!&wpLoginattempt=Log+in
Ve şu cevabı alırsak:
HTTP/1.1 200 OK
Date: Thu, 14 Aug 2008 14:52:58 GMT
Server: Apache/2.2.2 (Fedora)
X-Powered-By: PHP/5.1.6
Content-language: en
Cache-Control: private, must-revalidate, max-age=0
X-Content-Encoding: gzip
Content-length: 4090
Connection: close
Content-Type: text/html; charset=UTF-8
...
HTML data
...
Başarılı login sonrası yeni bir cookie set edilmediğinden oturum hırsızlığının mümkün olduğunu biliriz.
Sonuçta:
Kurbana geçerli bir SessionID göndeririz, kimlik doğrulama işlemini yapmasını bekleriz, kimlik doğrulaması yapılmış cookie ile sisteme gireriz.
Hiç yorum yok:
Yorum Gönder