Neler yeni
Game Cheats - Roblox Hileleri - Valorant Hileleri - Oyun Hileleri

User Enumeration

s27 imp

New member

OWASP TOP 10 | User Enumeration


Merhaba sevgili forum üyeleri, bu konumuzda yine olduğu gibi
İçeriği görmek için, Giriş yap yada Kayıt ol Bizde beleş yok hacı
OWASP TOP 10 da User Enumeration konusu ele alacağız vakit kaybetmeden anlatıma geçelim.

User Enumeration Nedir


User Enumeration Türkçe adı ile Kullanıcı adı numaralandırma, bir sunucu veya web uygulamasındaki tüm geçerli kullanıcı adlarının bir listesini geliştirme sürecidir. Sunucu veya uygulama, kullanıcı adının var olup olmadığı konusunda bir ipucu verirse mümkün olur.

The Application


CloudGraph, kurumsal müşteriler için bulutta barındırılan grafik veritabanı sunucuları sağlayan bir SaaS başlangıcıdır. Yakın zamanda yeni gelen CloudGraph, çok sayıda erken çekiş ve başarı elde etti.

CloudGraph'ın bir rakibi olan EasyGraph, sürekli bir müşteri kaybına tanık oldu. EasyGraph'taki satış ve pazarlama ekibi, CloudGraph'a müşteri kaybını araştırmak için bizi işe almaya karar verdiler


Access Email


unknown.png



Şimdi ise EasyGraph tarafından belirlenen kapsam ve hedefleri gözden geçirmek için bize gönderilen epostayı inceleyelim.


unknown.png



Mesajı açıp ilerleyelim.


unknown.png



EasyGraph'tan gelen e-posta, EasyGraph ile sözleşmelerini yenilemeyen müşterilerin e-posta adreslerinin bir listesini içerir. E-posta ayrıca CloudGraph'ın web sitesinin bir bağlantısını içerir.

CloudGraph'ın SaaS çözümü lehine geçiş yapmış olabilecek bu listedeki müşterileri belirlemekle biz görevlendirildik.



Epostanın içeriği, Türkçe çeviri;


unknown.png



Bize gönderilmiş olan epostadaki CloudGraph bağlantısına gidelim.


unknown.png




Bob, EasyGraph'ın önceki müşterilerinin CloudGraph'a geçiş yapıp yapmadığını doğrulamak için CloudGraph'ın kimlik doğrulama arabiriminde bir User Enumeration güvenlik açığını belirlemeye ve kullanmaya çalışır.

User Enumeration, geçerli ve geçersiz kullanıcı adları göndererek bir sunucu veya web uygulamasında geçerli kullanıcı adlarının bir listesini elde etme ve uygulama tarafından oluşturulan yanıt hata mesajlarını analiz etme işlemidir.


unknown.png



Forgot your Password? diyoruz.

Kullanıcı numaralandırma güvenlik açıklarının oluşabileceği en yaygın alan, uygulamanın Parolamı Unuttum işlevidir.

CloudGraph'ın Unutulan Parola özelliğinin bir User Enumeration saldırısına karşı savunmasız olup olmadığını test etmek için var olmayan bir kullanıcı adı gönderiyoruz.


unknown.png



Reset My Password


unknown.png



uygulamanın genel bir parola sıfırlama mesajıyla geri dönmesini bekliyorduk Fakat, uygulama aşağıdaki hatayı verdi:

Bu e-posta adresine sahip kayıtlı bir kullanıcı olmadığı için şifre sıfırlanamadı.

Not
Uygulama, gönderilen hesap kullanıcı adının geçerli olmadığını veya CloudGraph uygulamasında kayıtlı olmadığını belirten bir hata mesajı döndürdüğünden, yukarıdaki mesaj bir User Enumeration güvenlik açığının göstergesidir. [email protected]


unknown.png




varsayımımızı daha da doğrulamak için, Unutulan Parola formu tarafından oluşturulan yanıt mesajının geçerli bir kullanıcı hesabının varlığını ortaya çıkarıp çıkaramayacağını görmek için CloudGraph'a kayıtlı bilinen bir kullanıcı hesabının mailini gönderelim.

Şimdi, aşağıdaki kullanıcı hesabına karşı bir parola sıfırlama işlemi başlatalım:
[email protected]


unknown.png




Cevap mesajı gerçekten farklı. Bu bilgiyle CloudGraph'a karşı bir User Enumeration salsırısı başlatılabilir. Ayrıca EasyGraph istemcilerinin listesini alabilir ve CloudGraph'ta kayıtlı bir hesaplar olup olmadığını kontrol edebiliriz.




Not
User Enumeration, bir kullanıcının var olup olmadığını kontrol etmek için bir uygulamayı araştırma yeteneğini ifade eder. Bu genellikle, yanıt iletilerinde veya yanıt sürelerinde, uygulamanın gönderilen kimlik bilgilerine verdiği yanıttaki farklılıklarla açıklanır. Bir kullanıcı adının veya epostanın kayıtlı olup olmadığını doğrulamak mümkün olduğunda, kaba kuvvet yaklaşımı, daha sonra diğer istismarlarda kullanılabilecek geçerli kullanıcıları otomatik olarak tahmin edilebilir.


unknown.png




User Enumeration saldırısını otomatikleştirmek için enumerate.py adında bir python komut dosyası oluşturalım.

Kullanıcıların parametre olarak ilettikleri e-postaların listesini içeren bir metin dosyasını okur ve her kullanıcı adı için bir oturum açma isteği gönderir.



1. Yukarıdaki koşulun gerçekleşmesi durumunda kullanıcı adını bir listeye ekler.true

2. Son olarak konsola bulduğu kullanıcı adlarını veya bulamaması durumunda basit bir mesaj yazar.


unknown.png



User Enumeration güvenlik açığının temel nedenini anlamak için Parolayı Sıfırla mesajını oluşturmak için kullanılan kaynak koduna bir göz atalım.


unknown.png




message
Yöntem resetPassword() , bir kullanıcı parola sıfırlama istediğinde döndürülen mesaj için bir değişken başlatır.

DBHelper.findUserByEmail(email);
Yöntem önce kullanıcının veritabanında olup olmadığını kontrol eder.

"Please check your email inbox to continue";
Kullanıcı varsa, mesaj kullanıcıya e-posta gelen kutularını kontrol etmelerini söyler.

"Could not reset password because there is no registered user with that e-mail address";
Kullanıcı yoksa, diğer taraftan, mesaj, o e-posta adresiyle kayıtlı bir kullanıcı olmadığını açıklar. Bu, harici kişilerin etrafta dolaşmasına ve sistemde bazı e-posta adreslerinin kayıtlı olup olmadığını kontrol etmesine olanak tanır.


unknown.png



User Enumeration Saldırılarını Nasıl Azaltacağız?


User Enumeration saldırılarını etkili bir şekilde azaltmak için geliştiriciler, kullanıcı adı, e-posta veya hesabın geçerli olup olmadığına bakılmaksızın genel bir yanıt mesajı göstermelidir.

User Enumeration saldırılarını önlemek için yukarıdaki en iyi uygulamanın savunmasız kod örneğimize nasıl uygulanabileceğini görelim.


Suspect1.png
 
Üst