
در این Write up مربوط به آسیبپذیری منطقی، تست نفودگر به یک حساب کاربری که توسط مدیر حذف شده است، دسترسی پیدا میکند.
این آسیبپذیری توسط Rajesh Ranjan شناسایی شده است و برنامه آسیبپذیر مربوط به یک برنامه خصوصی در Bugcrowd می باشد. به همین خاطر نام وب سایت در متن این Write up با نام example.com ذکر میگردد.
تعداد بخشهای عملکردی برنامه بسیار زیاد بوده که باید مورد بررسی قرار گیرند. یکی از این گزینهها، مربوط به دعوت کاربر بوده و Endpoint آن، مسیر example.com/dashboard/setup/user-accounts میباشد.
تست نفوذگر به منظور بررسی بیشتر، اقدام به ارسال یک Invitation به آدرس ایمیل خود مینماید که به صورت rajesh_ranjan+invite1@bugcrowdninja.com میباشد. پاسخ دریافت شده به شکل زیر بوده و در قسمت متد عبارت 201 created بازگردانده میشود:

سپس تست نفوذگر به سرعت به اینباکس ایمیل خود مراجعه نموده، درخواست دعوت را تایید میکند نام کاربری و کلمه عبور را ایجاد مینماید. سپس به صفحه example.com/dashboard/login مراجعه نموده و Credential دریافت شده را وارد میکند. در این مرحله Request و Response ایجاد شده به صورت زیر میباشد:

تست نفوذگر پاسخ دریافت شده را کپی نموده و در جایی ذخیره میکند. سپس وارد داشبورد مدیریتی برنامه شده و دسترسی کاربر را از برنامه حذف میکند:

پس از حذف دسترسی اکانت، تست نفوذگر مجددا به صفحه ورود سایت مراجعه نموده و با Credential پیشین سعی در ورود به سامانه مینماید ولی با پیام Login Failed مواجه میشود:

پس از دریافت این پاسخ، تست نفوذگر به دنبال راه کارهای دیگری برای تست منطق برنامه میگردد. وی به صفحه ورود مراجعه نموده و Request آن را با استفاده از ویژگی ابزار Burp Suite بررسی میکند. وی در این بخش ابتدا Intercept را فعال نموده و اقدام به ارسال درخواست مینماید و برای مشاهده Response و تغییر در آن، بر روی Request راست کلیک نموده و از بین گزینهها مطابق تصویر گزینه Do Intercept و سپس Request to this request را انتخاب مینماید:

در این مرحله Request را از صورت زیر :

به صورت زیر تغییر میدهد:

پس از Forward نمودن، تست نفوذگر شگفت زده میشود، زیرا با همان اکانت وارد برنامه میشود. وی این موضوع را به سرعت گزارش نموده و پاداش مربوط به آن را دریافت میکند.
منبع: