نگاره‌هایی پیرامون امنیت، شبکه و رمزنگاری

03 دسامبر 2021

سلام، من طاها هستم. امروز میخوایم یکی از آسیب پذیری هایی که ماه گذشته بابتش بانتی دریافت کردم رو با هم بررسی کنیم. امیدوارم که از این مطلب استفاده لازم رو ببرید. اگه هنوز رایت اپ قبلی (تجربه من در کشف و اکسپلویت آسیب پذیری XSS) رو نخوندین، روی این لینک کلیک کنید.

مجیک لینک چیست و چطور کار میکند؟

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

خلاصه گزارش و شرح آسیبپذیری

در یک روز سرد و زمستانی (الکی)، میخواستم چند تا از کتاب های داستایفسکی رو سفارش بدم. وب سایت مورد نظرم رو انتخاب کردم و وارد صفحه عضویت شدم تا یک اکانت جدید ایجاد کنم. اولین چیزی که نظرم رو جلب کرد، مکانیزم Authentication بود. این سایت از مجیک لینک برای احراز هویت کاربران استفاده میکرد و اینجا بود که Spider-sense ام فعال شد D:

همانطور که در عنوان این مطلب اشاره کردم، شیطان در جزئیات است! گاهی یک سهل انگاری در پیاده سازی برنامه، میتواند منجر به بحران بزرگی شود. بگذریم… با کمی بررسی ریکوئست های ارسالی/دریافتی، متوجه شدم که آدرس صفحه ولیدیشن و لینک فعالسازی به همدیگه شباهت زیادی دارن. اگه دقیق بخوام بگم، هیچ تفاوتی جز اندپوینت ندارن. یعنی چی؟

یعنی با تغییر اندپوینت به `verifymailbylink` میتونیم به حساب هر کاربری دسترسی پیدا کنیم.

Activation Link:
https://www.iranketab.ir/account/verifymailbylink/{ActivateCodeGuid}

ویدیو اثبات آسیب‌پذیری (PoC)

2 پست نوشته شده
توسعه دهنده نرم افزار و علاقه مند به امنیت ?
  • به اشتراک بگذارید:
  1. ممد گفت:

    قشنگ بود:)
    دمت گرم