top of page

Portswigger Academy — Lab: Username enumeration via subtly different responses

Yazarın fotoğrafı: Songül ÖZÜGÜRLER
Songül ÖZÜGÜRLER
28 Nis
2 dakikada okunur

Portswigger Academy — Lab: Username enumeration via subtly different responses

Merhaba!

Bu labda amaç, uygulamanın verdiği küçücük response farklarını analiz ederek geçerli bir kullanıcı adını tespit etmek. Bu durum, gerçek hayatta sıkça karşımıza çıkan klasik bir “username enumeration” zafiyetine çok iyi bir örnek. Geçerli kullanıcıyı bulduktan sonra ise sırada o kullanıcı için parola brute-force yaparak hesaba erişmek var.

Dışarıdan bakınca güvenli görünen bu uygulama aslında içeride, kullanıcı adı enumerasyonu ve parola brute-force yapılmasına izin veren ince bir açık barındırıyor. Lab bize hem bu farkları nasıl yakalayabileceğimizi hem de doğru kullanıcı–parola kombinasyonunu nasıl ortaya çıkaracağımızı gösteriyor.

Bu süreçte PortSwigger’ın sunduğu iki farklı wordlist kullanıyoruz:

- Candidate usernames

- Candidate passwords

Bu labda amaç, önce geçerli kullanıcı adını tespit etmek , ardından da o kullanıcıya ait parolayı brute-force ederek hesaba giriş yapmak. Ben bu şekilde çözdüm

— İlk Deneme: Rastgele Kullanıcı ve Şifre Gönderdim

Başlangıçta tamamen deneme amaçlı basit bir istek gönderdim:

Portswigger Academy — Lab: Username enumeration via subtly different responses

Response mesajı şöyleydi:

Invalid username or password.

Bu aşamada amaç sadece uygulamanın döndürdüğü hata mesajını görmekti.

— Wordlist ile Username Enumerasyonu

Ardından PortSwigger’ın verdiği candidate usernames listesini kullanarak Burp Intruder’da Sniper Attack başlattım.

Portswigger Academy — Lab: Username enumeration via subtly different responses

- Burp’te intruder ayarlara Grep — Match kısmına şu ibareyi ekledim: Invalid username or password. Böylece hangi isteklerde bu mesajın dönmediğini kolayca görebildim.

Portswigger Academy — Lab: Username enumeration via subtly different responses

Request örneği:

Portswigger Academy — Lab: Username enumeration via subtly different responses

Sonuçlara baktığımda, tüm kullanıcı adaylarında sunucu hep Invalid username or password. döndürürken…

Sadece “apps” kullanıcısında bu hata mesajı dönmedi.

Bu da bana şunu gösterdi: apps = geçerli kullanıcı adı

Şimdi sıra parolayı bulmakta (Brute-Force) kullanarak. Bu sefer username’i sabitledim:

Ve PortSwigger’ın verdiği candidate passwords wordlistini brute-force için Burp Intruder’a yükledim.

Portswigger Academy — Lab: Username enumeration via subtly different responses

Sniper Attack → Payloads → Password listesi

Bu istekte de hata mesajı dönmedi . Yani:

Portswigger Academy — Lab: Username enumeration via subtly different responses

Kullanıcı adı: apps Şifre: michelle

Bu kombinasyonla login olduğumda kullanıcı paneli açıldı ve lab başarıyla tamamlandı

Portswigger Academy — Lab: Username enumeration via subtly different responses

Özet

- Kullanıcı adı enumerate edilirken response içeriğindeki ufak davranış farkı yakalandı.

- apps kullanıcı adı hata mesajı üretmeyen tek kullanıcıydı.

- Parola brute-force sonrası michelle şifresi bulundu.

- Hesaba giriş yapılarak lab tamamlandı.

 
 
bottom of page