
این رایتآپ با همکاری من و محمدحسین صادقیان انجام شده.
کلیپ از روند اکسپلویت آسیب پذیری اِنتهای رایتآپ.
چند وقتی بود از Notion برای نوشتن برنامههای روزمره و مدیریت کارام استفاده میکردم، و هرموقع عضو جدیدی به تیم میومد اون رو هم به حساب کاربریم متصل میکردم.
تا اینکه آخرین عضوی که گرفتیم موقع متصل کردنش به حسابم یک پیام اومد که میگفت نیازه Upgrade کنی تا بتونی بلاک جدید (خط جدید داخل نوشن) ایجاد کنی.
اینجا یکم حالم گرفته شد که تا وقتی هزینه پرداخت نکنم برای Upgrade plan حسابم نمیتونم دیگه چیزی توش بنویسم.

اون حس هکریه اصلا نمیزاشت بهشون پول پرداخت کنم، هرجور شده باید ی راهی پیدا میکردم تا کارمو بدون اینکه بهشون پولی بدم ادامه بدم.
بعد از کلی سر و کله زدن با سایتشون بلاخره یک روزنه اُمید دیدم.
آره خودشه وقتی سایتو Reload میکنم درست چند میلی ثانیه قبل اینکه کامل لود بشه میتونم بلاک(خط) جدید توی حساب کاربریم ایجاد کنم.
فقط باید خیلی سریع چند میلی ثانیه قبل لود شدن کامل سایتشون روی بلاک فعلیم کلیک کنم و پشت هم Enter بزنم.
حالا از اینجا به بعد با یکسری از هم تیمیا صحبت کردم تا روی Notion وقت بزارن و تنها کسی که موند محمدحسین بود.
با صحبتایی که کردیم به این فکر افتاده بودیم حتما یک فایل JavaScript ای هست که داره اعتبار سنجیو انجام میده و بخاطر همین موقع لود شدنش، اون اتفاق میوفته.
پس عزممون رو جزم کردیم تا چند صد فایل جاوا اسکریپتیشو بخونیم :')
رسیدیم به 2 تا فایل که اصل اعتبار سنجی قسمت Upgrade از اون فایلا میومد.
با خودمون گفتیم خب کاری نداره موقعی که داریم با BurpSuite ریکوئستهاشو میگیریم به اون 2 تا فایل JS که رسید دراپشون میکنیم.
آره جواب داد =) اما خیلی زود فهمیدیم نه مشکل اون 2 تا فایل JS نیستن و بگیر نگیره داره اینکار.
حتی کدای فایلهای JS رو override هم کردیم اما بازم نتیجهای که ما میخواستیمو نمیداد، انگار یک سری JS فایلهای دیگه بود که بعدش میومدن و بررسی میکردن باز و نصفه و نیمه میموند.
بلاخره بعد تست کردن کلی روش مختلف و انجام همه سناریوهایی که به ذهنمون میرسید من و محمدحسین راهشو پیدا کردیم، فهمیدیم وقتی بین ریکوئستها Delay یک ثانیهای میندازیم عملا دیگ سایتشون بررسی نمیکنه که حساب رو Upgrade کردیم یا نه!
عجیب بود اما واقعا علاج کار تو همین صبرِ بود(داستان لاکپشت و خرگوش)، دقیقا جواب همین بود باید یکبار سایتو Reload میکردیم و ایجاد تاخیر 1 ثانیهای بین هر ریکوئست باعث میشد بعدش کل قابلیتهای سایتشون برامون باز بشه و دیگه پیام Upgrade plan نمیومد تا زمانی که سایتشون میبستیم.
برای دیدن کلیپ اکسپلویت آسیب پذیری روی لینک کلیک کنید.