APIs and Excessive Data Exposure

استخدام واجهات برمجة التطبيقات واكتشاف تعرض البيانات بشكل مفرط

كشف تعرض البيانات بشكل مفرط

تحدث ظاهرة تعرض البيانات بشكل مفرط عندما يرسل مزود API كائن بيانات كامل، مما يتطلب من العميل تصفية المعلومات التي يحتاجها. تكمن المشكلة الأمنية في حساسية المعلومات المرسلة، وليس فقط في حجم البيانات.

مكونات تعرض البيانات بشكل مفرط

  • استجابة تتضمن معلومات أكثر مما هو مطلوب.

  • معلومات حساسة يمكن استخدامها في هجمات أكثر تعقيدًا.

أمثلة على تعرض البيانات

إذا كان مزود API يرسل كائن بيانات كامل، فإن أول شيء يمكن أن ينبهك إلى تعرض البيانات بشكل مفرط هو ببساطة حجم الاستجابة. إذا كان الطلب GET يعود بمعلومات عن المستخدم وبيانات إضافية عن المشرف، فهذا يشير إلى تعرض مفرط للبيانات.

تحليل طلبات API

بمجرد وصولك إلى API الخاصة بـ crAPI، انظر إلى الطلبات. على سبيل المثال، طلب GET لـ /identity/api/v2/user/dashboard يمكن أن يكشف معلومات حساسة مثل "id" و"email" و"available_credit".

استخدام Burp Suite

باستخدام Burp Suite، يمكنك التحقق من الطلبات والتقاط الاستجابات، مما قد يكشف عن معلومات حساسة. عند إجراء طلب GET إلى /community/api/v2/community/posts/recent، يمكن أن يكشف عن بيانات حساسة مثل أسماء المستخدمين والبريد الإلكتروني

تحليل النقاط النهائية (Endpoints)

الخطوة الأولى في عملية اختراق الAPI هي فهم كيفية استخدامها كما هو مقصود. بعد ذلك، يمكنك اكتشاف تعرض البيانات بشكل مفرط. سنقوم بمراجعة Documentationالخاصة الAPI لاستخدامها في المصادقة وبدء تشكيل الطلبات.

الAPI Documentation

على الرغم من أن Documentationالخاصة الAPI عادةً ما تكون واضحة، إلا أن هناك بعض العناصر التي يجب الانتباه لها. عادة ما يتضمن القسم الأول من Documentationنظرة عامة على كيفية الاتصال واستخدام API. كما يمكن أن تحتوي على معلومات حول المصادقة وحدود المعدل.

الوظائف المطلوبة

راجع Documentationلفهم الوظائف المتاحة، أي الإجراءات التي يمكنك اتخاذها باستخدام API المعطاة. ستظهر هذه الوظائف كمزيج من طريقة HTTP (GET، PUT، POST، DELETE) ونقطة النهاية (endpoint). يمكن أن تتضمن الوظائف user account management, options to upload and download data, different ways to request information.

متطلبات الطلب

عند إجراء طلب إلى endpoint، تأكد من ملاحظة متطلبات الطلب. يمكن أن تشمل هذه المتطلبات بعض أشكال authentication, parameters, path variables, headers, and information included in the body of the request. يجب أن تخبرك الوثائق بما يتطلبه منك وأن تذكر أي جزء من الطلب تتعلق به هذه المعلومات. إذا كانت Documentation تقدم أمثلة، استخدمها كمرجع.

مؤشرات Documentation

تساعدك معرفة مؤشرات Documentation في إنشاء طلبات صحيحة وحل المشكلات عندما لا تستجيب API كما هو متوقع. بعض مؤشرات الوثائق تشمل:

  • استخدام نقطتين أو أقواس معقوفة للإشارة إلى متغيرات المسار.

  • الأقواس المربعة تشير إلى أن الإدخال اختياري.

  • رموز مزدوجة تمثل قيمًا ممكنة مختلفة يمكن استخدامها.

استكشاف endpoint

استخدم Swagger Editor لاستيراد مواصفات Swagger الخاصة API (مثل crAPI). يمكنك من خلاله رؤية مجموعة منthe endpoint, parameters, request body, and example responses المختلفة، مما يوفر تمثيلًا بصريًا لنقاط النهاية الخاصة بالواجهة.

إعداد متغيرات مجموعة Postman

عند العمل مع مجموعة جديدة في Postman، من الجيد فحص متغيرات المجموعة للتأكد من أن قيمة baseUrl تتطابق مع عنوان URL الخاص بالهدف. تأكد من حفظ التحديثات التي تجريها في المحرر.

تحديث تفويض مجموعة Postman

لإجراء طلبات Authorization ، تحتاج إلى إضافة رمز Authorization صالح. يمكن فعل ذلك من خلال علامة التبويب Authorization في محرر المجموعة. بالنسبة لـ crAPI، سيكون هذا رمز Bearer.

Last updated