کنترل دسترسی ناقص (Broken Access Control)
کنترل دسترسی ناقص، که در صدر لیست OWASP Top 10 در سال 2021 قرار دارد، به معنای ناتوانی یک وباپلیکیشن در اعمال محدودیتهای دسترسی مناسب است. این آسیبپذیری امنیتی اجازه میدهد که کاربران غیرمجاز بتوانند به منابعی دسترسی پیدا کنند که نباید به آنها دسترسی داشته باشند.
چیستی کنترل دسترسی ناقص
کنترل دسترسی به ساختار مجوزهایی اشاره دارد که باید توسط برنامه تعریف شود. برای مثال، برنامه شما ممکن است نقشهای جداگانهای برای کاربران عادی و مدیران داشته باشد. کاربران عادی نباید قادر به دستیابی به دسترسیهای ممتاز باشند، اما مدیران باید! زمانی که کنترل دسترسی یک برنامه ناقص است، یک کاربر عادی ممکن است قادر به دسترسی به عملکردهایی باشد که قرار است فقط برای مدیران محفوظ باشد، یا شاید بتوانند به دادههایی دسترسی پیدا کنند که به آنها تعلق ندارد¹.
نمونههای عملی کنترل دسترسی ناقص
در یک مثال، فرض کنید نام شما ازرا است. شما یک دانشجوی دانشگاه هستید که به دنبال استفاده از آسیبپذیری کنترل دسترسی ناقص در یکی از برنامههای وب دانشگاه برای اعطای نمره بالا به خود به صورت ناشایست است. شما میتوانید با استفاده از این آسیبپذیری، به بخشهایی از برنامه دسترسی پیدا کنید که نباید قادر به دسترسی به آنها باشید¹.
راههای مقابله با کنترل دسترسی ناقص
برای محافظت از برنامههای وب در برابر کنترل دسترسی ناقص، توصیههای زیر را میتوان اجرا کرد:
- اعتبارسنجی سمت سرور: اطمینان حاصل کنید که تمام فایلهای آپلود شده به درستی از نظر نوع و محتوا اعتبارسنجی میشوند.
- محدودیت پسوندهای فایل: فقط پسوندهای فایلهای معتبر و امن را بپذیرید و از پسوندهایی که میتوانند حاوی کد اجرایی باشند، اجتناب کنید.
- دسترسیهای دایرکتوری: فایلهای آپلود شده را در دایرکتوریهایی ذخیره کنید که دسترسی مستقیم از طریق وب را ندارند.
- محدودیتهای اندازه فایل: اندازه فایلهای آپلود شده را محدود کنید تا از آپلود فایلهای بزرگ و مخرب جلوگیری شود