در این چالش شما با یک سامانه ثبتنام مبتنی بر تأیید شماره موبایل (OTP) روبهرو هستید که دسترسی به آن از طریق یک دامنه محلی انجام میشود.
در ابتدای کار لازم است دامنهی چالش را به IP هدف در سیستم خود نگاشت کنید تا درخواستهای مرورگر و ابزارهای تست به مقصد درست ارسال شوند. پس از دسترسی، با یک فرم ثبتنام مواجه میشوید که برای ادامهی فرآیند، دریافت و وارد کردن یک کد یکبارمصرف را الزامی میکند.
هدف اصلی این سناریو، بررسی سطح امنیت مکانیزم OTP است؛ بهویژه در شرایطی که کد کوتاه (مثلاً چندرقمی) باشد و احتمال حدسزدن سیستماتیک آن وجود داشته باشد.
شما باید جریان کاری برنامه را از «درخواست ارسال OTP» تا «اعتبارسنجی OTP» مشاهده کنید و متوجه شوید این مراحل از چه APIهایی استفاده میکنند، چه پارامترهایی ارسال میشود (مانند شناسه مقصد/شماره موبایل و نوع رویداد)، و چه شاخصهایی در پاسخها نشاندهنده موفقیت یا شکست هستند.
در ادامه، لازم است با استفاده از یک ابزار رهگیری و تحلیل ترافیک (مانند Burp Suite) درخواستهای مربوط به اعتبارسنجی کد را بررسی کنید و ارزیابی نمایید آیا سامانه در برابر تلاشهای پیاپی مقاوم است یا خیر.
در یک پیادهسازی امن، معمولاً کنترلهایی مثل Rate Limiting، محدودیت تعداد تلاش، قفل موقت، تاخیر تصاعدی، و ابطال کد پس از چند خطا وجود دارد. این چالش از شما میخواهد با آزمون عملی این کنترلها، مشخص کنید آیا امکان دور زدن فرآیند تأیید بدون داشتن کد واقعی فراهم میشود یا نه.
در پایان، معیار موفقیت زمانی محقق میشود که بتوانید اثر امنیتی نتیجه را در جریان ثبتنام مشاهده کنید؛ یعنی برنامه پس از عبور از مرحله تأیید موبایل، کاربر را به مرحله بعدی هدایت کند و وضعیت «تأیید» را نمایش دهد.
تمرکز این چالش بر شناسایی ضعفهای طراحی/پیادهسازی در اعتبارسنجی OTP و کنترل تلاشها است؛ ضعفهایی که در محیطهای واقعی میتوانند به ثبتنام یا ورود غیرمجاز و سوءاستفاده از شمارههای قربانی منجر شوند.
نکته: قبل از شروع، لازم است دامنه accessbyvelora.local را به آدرس IP ماشین هدف در فایل etc/hosts/ سیستم خود نگاشت کنید تا دسترسی به سرویس ممکن شود.
لینک رایت آپی که این چالش بر اساس آن طراحی شده است:
https://www.pethuraj.com/blog/bmw-bugbounty-writeup
این چالش توسط PingQueen طراحی شده است.