در این چالش، شما با یک سناریوی چندمرحلهای در محیط آموزشی AtlasBank روبهرو هستید؛ یک پورتال بانکی داخلی که بخشهای مختلف آن از طریق چند سرویس و میزبان مجازی در دسترس قرار گرفتهاند.
هدف اصلی چالش بررسی ضعفهای ناشی از استفاده ناامن از ورودی کاربر در Queryهای پایگاه داده است؛ جایی که ماژولهای قدیمی برنامه هنوز بهدرستی از ورودیها در برابر تزریق SQL محافظت نمیکنند.
در طول چالش باید چند بخش مختلف سامانه را تحلیل کنید؛ از جمله صفحه ورود کارکنان، سرویس جستوجوی حسابهای مشتریان، سیستم بررسی Badge کارمندان و ماژول Audit. هر مرحله رفتار متفاوتی در برابر ورودیهای کاربر دارد و برای پیشروی لازم است نوع آسیبپذیری، محل تزریق و روش مناسب استخراج اطلاعات را با دقت شناسایی کنید.
این سناریو چند تکنیک مهم از خانواده SQL Injection را پوشش میدهد؛ از جمله دور زدن احراز هویت در کدهای قدیمی، استخراج داده با Union-based SQL Injection، تحلیل پاسخهای باینری در Boolean-based Blind SQL Injection و استفاده از زمان پاسخ در Time-based Blind SQL Injection.
تمرکز چالش فقط روی اجرای Payload نیست، بلکه روی درک تفاوت روشهای استخراج، محدودیتهای هر مرحله و انتخاب تکنیک مناسب برای شرایط مختلف است.
برای تکمیل چالش باید با انجام Recon، بررسی پیامهای خطا، تحلیل رفتار برنامه و ساخت Payloadهای مرحلهبهمرحله، مسیر میان سرویسها را کشف کرده و به Flagهای هر بخش برسید.
در پایان انتظار میرود بتوانید ریشه آسیبپذیری، اثر امنیتی آن و راهکارهای دفاعی مناسب مانند استفاده از Prepared Statement، اعتبارسنجی ورودی، حذف نمایش خطاهای دیتابیس و یکپارچهسازی کنترلهای امنیتی در لایههای مختلف برنامه را توضیح دهید.
نکته: برای شروع چالش نیاز هست که دامنه atlasbank.local را در فایل hosts سیستم خود اضافه کنید.
همچنین جهت دسترسی به صفحه مربوط به آزمایشگاه WSTG می توانید به لینک زیر مراجعه نمایید:
درصد پیشرفت حل چالش
0%