Ders 24 - Authentication Flaws > Multi Level Login 2 | |||||
Authentication Flaws(Kimlik Doğrulama Kusurları) ünitesinin beşinci dersi olan
Multi Level Login 2(Çok Seviyeli Oturum Girişi 2) dersinde günümüzdeki bankaların internet şubelerinde kullanılan oturum girişi sistemine benzer bir sistem için kullanıcı adını bildiğimiz bir şahsın hesabının senaryo gereği nasıl çalınabileceğinden bahsedeğiz.
Dersin HedefiBu derste senaryoya göre WebGoat Financial firmasına ait bir hesabınız bulunmaktadır. Kullanıcı adınız Joe, şifreniz ise banana 'dır. Bir saldırgan olarak hedefiniz Jane adlı kurbanın hesabına giriş yapabilmektir. Oturum girişi için kullanacağınız TAN'lar(Banka işlemi yetkilendirme numaraları) ekranda listelenmiştir.Açıklamalar[ Bir önceki yazıyı okuyanlar bu başlığı atlayıp direk Dersin Çözümüne geçmelidirler. Çünkü önceki yazı ile bu yazının Açıklamalar kısmı konu benzerliğinden dolayı aynıdır. Önceki yazıdan bihaber okurlar bu başlığı okumaya devam edebilirler. ] Bir "Çok Seviyeli Oturum Girişi" güçlü bir yetkilendirme sağlamalıdır. Bu amaç var olan oturum girişine ikinci katmanı ekleyerek sağlanmıştır. Günümüz bankalarının internet şubelerini düşünelim. Eğer bir internet şubesine daha önce bağlandıysanız bilirsiniz ki hesabınıza girebilmek için öncelikle müşteri numarası tarzı bir veri, sonra şifre girersiniz. Girdiğiniz bu veriler şayet onaylanırsa akabinde bir TAN girmeniz istenir. TAN demek banka yetkilendirme numarasının ingilizce karşılığının baş harflerinden oluşan bir kısaltmadır. TAN bir çeşit sayı dizisidir. Siz telefonunuza sms olarak gelen bu sayıyı ikinci katmanda girerek internet şubesine bağlanırsınız. TAN verisi cep telefonuna sms olarak gelebileceği gibi mesela eposta aracılığıyla da gelebilir. Bu ders ekranında ise size kullanabileceğiniz birkaç tane TAN verilmiştir.Dersin ÇözümüBu dersin çözümü Multi Level Login 1, Stage 2 ile benzerdir, fakat çok ufak bir yaklaşım farkı vardır. Bu seferkinde sahip olduğumuz tek şey kullanıcı adıdır. Fakat aynı zamanda saldırgan rolündeki bizim de bankanın internet şubesi için hesabımız vardır.Joe kullanıcı adı ve banana şifresiyle sisteme giriş yapın. Ardından WebScarab'ın Intercept sekmesine gelip Intercept Request checkbox'ına tick koyun. Sonra sizden istenen TAN'ı ders ekranındaki metin kutusuna girin. Ve Submit butonuna basın. Ekranınıza bir WebScarab popup'ı gelmiş olmalıdır. Bu pencerede Submit butonu ile yaptığımız talepteki değişkenler ve değerleri sıralanmaktadır. Gördüğünüz üzere gönderilen değişkenlerden biri ilk katmanı geçen kullanıcının adını tutuyor. Bunu hesabına girmek istediğimiz kurbanın kullanıcı adıyla değiştirelim: Accept Changes butonuna basarak talebi sunucuya salıverelim. Böylece kendi hesabımıza girecekken sistemin bir açığını kullanarak kurbanın hesabına girmiş olduk. Sonuç Bu derste bize gösterilmek istenen açık oturum giriş sistemindeki iki katmanın birbirleriyle olan kopukluğudur. Sunucu ikinci katmana gelen müşteriye kendi kullanıcı adını döndürüyor ve ikinci katmanı geçme teşebbüsünde bulunan müşterinin kendisine gelen bu kullanıcı adı verisi tekrar sunucuya gidiyor. Böylelikle sunucu aldığı bu kullanıcı adına göre de TAN doğruysa oturum izni veriyor. Bu tipik bir güvenlik açığıdır. Bu güvenlik açığı sayesinde ilk katmanı geçen biz ikinci katmanda istediğimiz kullanıcı olarak oturum açabilme gücüne sahip oluyoruz. Bunu izale etmenin yollarından bir tanesi şu olabilir: İlk katman ile ikinci katman arasındaki ilişki için ardışık denetleme mekanizması kullanılmalıdır. Yani ilk katmanı geçen kullanıcıyı ikinci katmanda belirtebilmek için müşteriye giriş teşebbüsünde bulunduğu kullanıcı adını gönderip ikinci katman sonunda bu kullanıcı adını referans alarak oturum izni vermemelidir. Bunun yerine ilk katmanı geçen kullanıcının bilgileri $_POST['userName'], $_POST['password'] şeklinde ikinci katmana aktarılmalı. Sonra ikinci katmanda girilen TAN ile beraber hepsi tekrar işleme sokulmalıdır/denetlenmelidir. Yani iki kez kullanıcı adı ve şifre denetlemesi yapılmalı ki bu dersin sunduğu açığa meydan vermeyelim. Bu, çözüm yollarından sadece bir tanesidir. |
|||||
Bu yazı 03.09.2015 tarihinde, saat 21:41:13'de yazılmıştır. 23.09.2015 tarihi ve 16:12:24 saatinde ise güncellenmiştir. | |||||
|
|||||
Yorumlar |
|||||
Henüz yorum girilmemiştir. | |||||
Yorum Ekle | |||||