İçeriğe geç

PortSwigger Authentication Lab 7: Username Enumeration via Account Lock

Bu labda, PortSwigger Web Security Academy’nin Authentication kategorisindeki hesap kilitleme mekanizmasını inceliyoruz. Bu mekanizmadaki mantık hatasından yararlanarak geçerli bir kullanıcı adını tespit ediyor, ardından bu kullanıcının parolasını brute force yöntemiyle bulup hesabına giriş yapmaya çalışıyoruz. Lab bağlantısı.

Selamlar, yeni bir lab çözümü ile beraberiz. Buna benzer bulguları daha önceki raporlarımda yazmıştım. Bana ne kadar dahice gelse de yazılımcıları ikna etmek bazen zor olabiliyor.

Şöyle bir senaryo düşünün. Yazılımcı, bir hesaba belirli bir değerden fazla login isteği gönderildiğinde güvenlik gereği o hesabı kilitliyor. Ancak burada ufak bir sorun var. Şimdi yazılımcı gibi düşünelim ve kilitleme yapmadan önce doğal olarak hesabın kontrolünü yapmalıyız ve bir hesabı kilitlemek için elimizde gelen istek içerisinde o hesaba ait sadece username var. Eğer kilitleme modülü user tablosundan ayrı çalışmazsa, saldırgan bir enumeration yapabilir. Hâlihazırda sadece var olan hesaplar kilitlenebileceği için saldırgan bu yöntemle aslında sistemde var olan valid kullanıcıları tespit etmiş olacaktır.

Bunu şu şekilde deneyebiliriz. Her kullanıcı için aynı olan 5 login isteği atacağız ve hangi hesapta kilitlenme olduğunu anlamaya çalışacağız. Bunun için ben Turbo Intruder’ı kullandım.

Screenshot

Yukarıdaki resimde görüldüğü üzere 5 kere aynı username ile deneme yapılıyor. Sonuçlara bakalım.

Screenshot

Anomaly Rank değerine zaten bakıp direkt yorum yapılabilir. Diğer isteklerde Invalid username or password derken app01 için verdiği hata yukarıdaki görseldeki gibi.

Şimdi elimizdeki parola wordlisti ile bu sefer login için brute force yapalım.

Screenshot

Bu sefer scriptimiz yukarıdaki gibidir. Sonuç ise aşağıdaki gibi…

Screenshot

Anomaly Rank çok iyi çalışıyor değil mi?

Kategori:Web

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir