در این چالش، شما با یک سامانه وب روبهرو هستید که بخشی از قابلیتهای آن بر اساس محدودیت تعداد دفعات استفاده در اختیار کاربران قرار میگیرد.
برنامه در ظاهر اعلام میکند که برخی امکانات تنها در بازههای مشخص و با سقف استفاده معین قابل دسترسی هستند و پس از مصرف سهمیه، رابط کاربری دیگر اجازه استفاده مجدد را نمیدهد.
با این حال، هدف اصلی این سناریو آن است که بررسی کنید آیا این محدودیتها صرفاً در سطح ظاهری برنامه اعمال شدهاند یا اینکه منطق واقعی کنترل دسترسی و محدودیت مصرف، در سمت سرور نیز بهدرستی enforce میشود.
برای تحلیل این چالش، لازم است ابتدا ساختار دسترسی برنامه و وابستگی آن به hostnameهای مختلف را شناسایی کنید.
این سامانه علاوه بر پورتال اصلی، از یک API مجزا برای ارائه برخی قابلیتها استفاده میکند و همین موضوع میتواند درک بهتری از سطح حمله و جریان واقعی درخواستها به شما بدهد.
بررسی صفحات داخلی، بخشهای مرتبط با مصرف و محدودیتها، و همچنین تحلیل کدهای سمت کلاینت میتواند سرنخهای مهمی درباره نحوه پیادهسازی این کنترلها در اختیار شما قرار دهد.
هسته اصلی این چالش بر ارزیابی ضعفهای Business Logic در زمینه کنترل سهمیه و محدودیت استفاده متمرکز است.
شما باید بررسی کنید که آیا تصمیمگیری درباره مجاز بودن یا نبودن یک قابلیت، بر پایه دادههایی انجام میشود که کاربر یا مرورگر در اختیار برنامه قرار میدهد، یا اینکه backend بهصورت مستقل وضعیت واقعی استفاده را نگهداری و اعتبارسنجی میکند.
تمرکز اصلی در این سناریو بر تشخیص تفاوت میان «محدودیتی که کاربر در رابط میبیند» و «کنترلی که سرور واقعاً اعمال میکند» قرار دارد.
در مجموع، این چالش یک تمرین کاربردی در حوزه WSTG-BUSLOGIC و بررسی ضعفهای مربوط به Function Usage Limits محسوب میشود.
این چالش توسط PingQueen طراحی شده است.
همچنین جهت دسترسی به صفحه مربوط به آزمایشگاه WSTG می توانید به لینک زیر مراجعه نمایید:
موفقیت در این سناریو نیازمند دقت در تحلیل رفتار برنامه، مقایسه عملکرد رابط کاربری با پاسخهای API، و شناسایی نقاطی است که در آنها سامانه بیش از حد به دادههای سمت کلاینت اعتماد کرده است.
بنابراین رویکرد صحیح در این چالش، تمرکز بر منطق اعمال محدودیتها و ارزیابی محل واقعی enforce شدن آنها در معماری برنامه است.
درصد پیشرفت حل چالش
0%