رایتاپ Business Logic دسترسی به اکانت
سلام.من بهروز منصوری هستم و قراره در رایتاپ Business Logic دسترسی به اکانت به شما نمایش بدم که چطور با استفاده از مشکل فرایند تایید ایمیل به حساب سایر کاربران دسترسی میگیریم.
سعی میکنم تا حد امکان کوتاه و دقیق فرایند کار رو توضیح بدم.
کاربر یک حساب ثبت می کند => یک ایمیل تایید حساب ارسال می شود.
ایمیل حاوی یک لینک تأیید است که چیزی شبیه به این است:
https://example.com/rxy/suk?mda=verylongENCRYPTEDstring
با کلیک بر روی لینک، تب دیگری در مرورگر باز می شود با این url:
https://example.com/sdy/confirm?uid=<uuid>&auth=<somelongcode>&return=/
در صفحه نوشته شده “ایمیل تایید شد” => “برای ادامه کلیک کنید”.
با کلیک کردن، به صفحه اصلی باز میگردید.
همانطور که احتمالاً حدس زدید، “uid” به اندازه کافی معتبر نیست چون با وارد کردن “uid” کاربر دیگر منجر به تصاحب حساب می شود.
نه تنها “uid” فاقد اعتبارسنجی است، بلکه کد “auth” نیز باید پس از اولین استفاده باطل شود اما این اتفاق نمی افتد.
ما می توانیم چندین بار از آن استفاده کنیم.
بنابراین حساب های کاربران متعددی را در اختیار گرفتم (اکانت های آزمایشی مختلفی که خودم ایجاد کردم).
اگرچه uid چهار رقمی است و به راحتی قابل حدس زدن نیست، اما به هر صورت آسیب پذیری وجود دارد.
نمونه رایتاپ Business Logic دسترسی به اکانت را می توانید اینجا مشاهده کنید.