Portswigger Academy — Lab: Username enumeration via subtly different responses
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:

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.

- 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.

Request örneği:

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.

Sniper Attack → Payloads → Password listesi
Bu istekte de hata mesajı dönmedi . Yani:

Kullanıcı adı: apps Şifre: michelle
Bu kombinasyonla login olduğumda kullanıcı paneli açıldı ve lab başarıyla tamamlandı

Ö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ı.







