دور زدن محدودیت تعداد تلاش با ریستکردن شمارنده از طریق یک درخواست جانبی
وقتی یک مکانیزم ضد-brute-force بهجای بستهشدن کامل، با یک عملیات نامرتبط ریست میشود.
آسیبپذیریهای منطق کسبوکار الگوریتمی ندارند؛ باید جریان واقعی برنامه را فهمید. یک نمونهی رایج: شمارندهی تلاشهای ناموفق ورود بر اساس IP یا کاربر نگهداری میشود، اما یک عملیات کاملاً نامرتبط (مثل باز کردن صفحهی "فراموشی رمز عبور" یا تغییر زبان سایت) بهاشتباه همان شمارنده را صفر میکند.
نحوهی شناسایی
- جریان کامل یک قابلیت امنیتی (مثل rate limiting) را نقشهبرداری کنید: کجا افزایش مییابد، کجا ریست میشود.
- هر مسیر جانبی که میتواند همان state را دستکاری کند را تست کنید.
راهحل
منطق ریست یک شمارندهی امنیتی باید کاملاً مجزا و محدود به یک رویداد مشخص (مثل ورود موفق واقعی) باشد، نه هر عملیات جانبی دیگر.