نوشته‌ها

User Enumeration چیست؟

سلام خدمت شما

شمارش کاربر یا User Enumeration زمانی اتفاق می‌افتد که نفوذگر در تلاش است با استفاده از حملات Brute-force کاربران معتبر در سیستم را حدس بزند.این مورد معمولا در صفحه ورود و فراموش پسورد اتفاق می‌اُفتد.

در این روش نفوذگر به دنبال بررسی کردن تفاوت پاسخی است که سرور در مقابل درخواست او می‌دهد.

زمانی که نفوذگر نام‌کاربری و رمز ورود نامعتبری را وارد می‌کند، سرور پاسخی را ارسال می‌کند و می‌گوید که کاربر rapid7 وجود ندارد.نفوذگر باهوش متوجه می‌شود که مشکل رمز عبور نیست، بلکه این نام کاربری است که در سیستم وجود ندارد.(این مورد در تصویر زیر مشخص است)

User Enumeration چیست؟

از طرف دیگر اگر نفوذگر یک نام کاربری معتبر را با یک رمز عبور نامعتبر وارد کند، سرور پاسخ دیگری را نشان می‌دهد و می‌گوید رمزعبور وارد شده برای نام کاربری فلان صحیح نیست، که این مشخص می‌کند که نام کاربری مورد تایید سرور است.(این مورد در تصویر زیر مشخص شده است)

User Enumeration چیست؟

پس نفوذگر متوجه می‎‌شود که سرور چگونه به ورودی معتبر و نامعتبر پاسخ می‌دهد.پس نفوذگر می‌تواند از نام‌های کاربری معمولی یا اسامی رایج و انواع حروف استفاده کند تا لیست معتبری از نام‌های کاربری را به دست بیاورد.

پس از کامل شدن این لیست نفوذگر می‌تواند دوباره همین مراحل رو تکرار کند، اما این بار برای به دست آوردن رمز عبور.

یک روش موثر برای جلوگیری از این مشکل این است که سرور یک پاسخ ثابت را برای هر دو حالت داشته باشد به این شکل که “نام کاربری یا رمز ورود نادرست است”.در این صورت نفوذگر نمی‌تواند استدلال کند که نام کاربری نادرست بوده یا خیر.(مانند تصویر زیر)

User Enumeration چیست؟

صفحه فراموشی رمز نیز می‌تواند در برابر این نوع حمله آسیب‌پذیر باشد.به طور معمول، هنگامی که یک کاربر رمز عبور خود را فراموش می‌کند، یک نام کاربری را در این قسمت وارد می کند و سیستم تنظیم مجدد رمز ورود، یک ایمیل برای ایجاد پسورد جدید ارسال می‌کند.

در این حالت یک سیستم آسیب‌پذیر مشخص می‌کند که آن نام کاربری در سیستم وجود دارد یا خیر.(مانند تصویر زیر)

User Enumeration چیست؟

برای رفع این مشکل نیز باید پاسخ ثابتی در سرور مشخص شود که به سادگی به کاربر بگوید که اگر نام کاربری معتبر باشد، سیستم یک ایمیل بازگردانی به آدرس وارد شده ارسال می‌کند.(این مورد در تصویر زیر مشخص شده است)

User Enumeration چیست؟

برای درک بهتر این مورد، یک ویدئو آموزشی را رکورد کردیم که می توانید در سایت‌های واقعی این مورد را به صورت عملی مشاهده کنید.