برنامه نویسی

روز ششم: backendchallenges.com – تأیید هویت شکسته با JWT & OAUTH2

چرا احراز هویت شکست می خورد؟

بیشتر توسعه دهندگان سیستم ورود به سیستم خود را تضمین می کنند پس از این به خطر افتاده است

اما بیایید واقعی باشیم:

  • ذخیره JWT در localStorage خطرناک است
  • جریان اشتباه OAUTH2 بهشت ​​هکر است
  • محافظت بی رحمانه ای نیست؟ شما برای مشکل می خواهید

🛡 چالش شماره 1: JWTS را قفل کنید

مشکل

کاربران پس از ورود به سیستم JWT دریافت می کنند. اما آنها به طرز ناامیدی ذخیره می شوند ، هرگز منقضی نمی شوند و در صورت سرقت دوباره می توانند دوباره پخش شوند.

رفع

1 ⃣ JWTS را در کوکی های ایمن ذخیره کنید (httponly)

2⃣ از نشانه های کوتاه مدت + نشانه های تازه سازی استفاده کنید

3 ⃣ هنگام ورود کاربران یا جلسات ، نشانه ها را بچرخانید

💡 چالش جایزه: بعد از تنظیم مجدد رمز عبور ، لیست سیاه را اضافه کنید.


🔐 چالش شماره 2: جریان OAuth2 خود را سخت کنید

مشکل

جریان OAuth2 شما با استفاده از کمک های ضمنی PKCE از دست رفته است و دارای دامنه های بسیار گسترده ای است.

رفع

1⃣ از کد مجوز + PKCE استفاده کنید

2⃣ دامنه های باریک را تعریف کنید

3 ⃣ توکن ایمن را ذخیره کرده و مرتباً آنها را بچرخانید

💡 چالش جایزه: محدودیت نرخ را به جریان ورود به سیستم OAUTH خود اضافه کنید.


💣 چالش شماره 3: حملات نیروی بی رحمانه را متوقف کنید

مشکل

هر کسی می تواند 1000 تلاش ورود به سیستم را بدون مقاومت امتحان کند.

رفع

1⃣ محدودیت نرخ را به /login وت /reset-password

2 ⃣ حسابهای قفل به طور موقت پس از تلاش های X

3 ⃣ تلاش برای ورود به سیستم در هر IP و کاربر


فکر نهایی:

احراز هویت درب جلو برنامه شما است.

آن را گسترده نگذارید.

👉 اکنون شروع به حل این چالش ها کنید:

Broken Auth را برطرف کنید – چالش های پس زمینه

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا