Web uygulamalarının login sayfalarında, saldırganların kurban seçmelerinde yardımcı olmalarına yarayan en sık yöntemlerden biri kullanıcı adı ifşasıdır.
Giriş formlarında/sayfalarında girilen yanlış parola/kullanıcı adı kombinasyonu sonrasında uygulama tarafından döndürülen “Böyle bir kullanıcı bulunmamaktadır.” veya “Hatalı parola.” gibi uyarı mesajlarının gösterilmesi bir kurumu arayıp “filan isimli bir üyeniz var mı diye sorduğumuzda”, kurumumuzda “filan” isimli üyemiz var ya da değil demesi ile aynı anlama gelmektedir. Saldırganlar açısından bu tür bir uyarı görmek,kolları sıvamanın vaktini göstermektedir. Sunucu tarafından doğrulanan kullanıcı adı, saldırgan tarafından hedef olarak seçilip, parolayı ele geçirmek için ataklar başlatılabilir.
Giriş sayfalarında kullanıcı adı tespitlerinin bir başka yöntemi ise uygulamalarda bulunan “Account Lockdown” özelliğidir. Bu özellik güvenlik için önemli ve olması gereken bir özellik olmasına rağmen bir hesabın “kilitlendiği” durumlarda normalde yukarıda belirtilen mesajlar iletilmemesine rağmen “hesabınız kilitlenmiştir” gibi mesajların son kullanıcıya iletilmesi ile yine üye bilgileri ifşa edilmiş olabilir.
Saldırganların kullanıcı adı tespitinde kullandığı bir başka yöntem ise sunucudan dönen cevapların sürelerini incelemektir.
Bu işlemin işleyişi kabaca şu şekilde olmaktadır;
Giriş İsteği Gönderilir -> Kullanıcının Varlığı Veritabanında İncelenir -> Olumlu/olumsuz cevap kullanıcıya döndürülür.
Bu şekilde bir akışa sahip bir uygulamada, veritabanında bulunmayan kullanıcıların cevap sürelerinin en uzun olması beklenmektedir. Eğer kullanıcı veritabanında bulunursa kalan değerler incelenmeyecek ve bu yüzden geçen süre, var olmayan bir kullanıcıya göre daha kısa olacaktır. Aşağıdaki ekran görüntüsünde, uygulamaya farklı kullanıcılarla giriş yapılmaya çalışılmıştır. “Payload” değerlerinde kullanıcı adları ve parolaların base64 ile kodlanmış halleri bulunmaktadır.
Ekran görüntüsünden de anlaşılacağı gibi “107”0 milisaniye ve üzerinde bulunan kullanıcılar veritabanında bulunmamakta, diğerlerinin ise gerçek kullanıcılar olduğu anlaşılabilmektedir. Doğrulanan kullanıcılar arasında da bir kısmı 200 milisaniyenin altında, diğerleri ise 300 ile 600 milisaniye değerleri arasında seyretmektedir. Dönüş süreleri 300 ile 600 milisaniye arasında seyreden üyeliklerin sayıca azınlıkta olması, bu kullanıcıların sistem üzerinde farklı yetkilere sahip kullanıcılar(admin vs.) olduğunu belirtebilir.
Sunucudan dönen cevapların bu tür farklı bekleme süreleri ile kullanıcı adı ifşalarının sebebi, sunucu tarafında uygulamanın çalışma mantığı ile alakalıdır. Veritabanlarında yapılan bu sorgular için geçen sürelerin, kullanıcı adlarının ifşasına yardımcı olmayacak şekilde, benzer veya rastgele sürelerde yapılması saldırganların işini zorlaştıracaktır.
Saldırganların kullanıcı adı tespiti yapabildikleri bir başka yöntem ise üyelik oluşturma alanlarıdır. Birçok web uygulaması, üyelik oluşturulurken girilen kullanıcı adının veritabanı kayıtlarında bulunup bulunmadığını kontrol ederek saldırganlara potansiyel hedef seçmelerinde yardımcı olabilmektedirler. Üyelik oluşturma alanlarına yapılacak kaba kuvvet saldırıları sonucunda, uygulamada kayıtlı bulunan kullanıcı adlarının listelenmesi de mümkün hale gelebilmektedir
Üyelik oluşturma formlarında ortaya çıkan bu tür ifşa ile yapılacak denemelerde saldırganların işini zorlaştırmak için CAPTCHA kullanılmalıdır, bu sayede saldırganların var olan kullanıcıları listelemesi/tespit etmesi işlemi otomatik bir şekilde yapılmasına izin verilmemiş olunur.
Web uygulamalarında bulunan “Parola Yenileme/Şifremi Unuttum” kısımları da kullanıcı adı tespit için saldırganların göz attığı noktalardan birisidir. Ancak bu işlem sonucunda kullanıcıya parola yenileme işlemi ile ilgili bir e-posta gönderildiği için, kullanımı en az olan yöntemdir. Bazı uygulamalar e-posta göndermek yerine kişisel bir soru ile kimlik doğrulama yapmaktadır, ancak bu uygulamaların sayısı oldukça azdır.
Üyelik oluşturma işlemlerinde de olduğu gibi parola yenileme işlemlerinde de CAPTCHA kullanılması, saldırganların kullanıcı adı tespit işlemini otomatikleştirmesini engelleyecektir.