Broken Function Level Authorization (BFLA)


what is:
يتعلق الأمر بتوفير functional access غير مضمون أو غير مطلوب من قبل مستخدم معين
في العديد من الحالات، ما سيفعله المهاجم هو look at an endpoint توفر طلب GET حميدًا - طلب نوع البحث - ومحاولة استخدام أشياء مثل PUT وDELETE
إنهم يتطلعون إلى اكتشاف ما إذا كانت هذه الأنواع من الأوامر يتم تنفيذها بالفعل أم لا
الكشف هنا هو أنه يمكنك manipulate information وإجراء المعاملات بطرق are not authorized
قد يسمح لك هذا escalate privileges وتعديل account details وما إلى ذلك
Example:
استبدال طرق GET بـ PUT. لذا بدلاً من مجرد البحث my record باستخدام طلب GET، أحاول بالفعل تعديله - على سبيل المثال، changing my role from a user to an admin . أو يمكنني الدخول واستخدام أمر DELETE لحذف فاتورتي (invoice) أو تعيين الرصيد المستحق to zero or to a negative number
يوضح هذا مدى الإبداع الذي يمكن أن تتسم به الهجمات، ولماذا تحتاج إلى التفكير ليس فقط فيما ينبغي لتطبيقك أن يفعله، بل وأيضًا كيف يمكن إساءة استخدامه، وكيف يمكن استخدامه بطرق غير مقصودة
Prevention:
should look at those business flows, those functions that are especially sensitive
business flows that could result in a manipulation of data, an escalation of privilege, or performing transactions that shouldn't be authorized to anyone but the legitimate user
implement controls and testing للتأكد من أنك تفحص endpoints هذه بشكل صحيح عبر كل مجموعة ممكنة من أنواع الطلبات - and doing that on a continuous basis, on every release, on every push to production
Last updated