From a571aab626812dafaf2225923a1b64905f14a975 Mon Sep 17 00:00:00 2001 From: MohammedHassan <0xmohammedhassan@gmail.com> Date: Sat, 16 Jan 2021 21:21:41 +0200 Subject: [PATCH] Update 0xa1-broken-object-level-authorization.md --- .../src/0xa1-broken-object-level-authorization.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/2019/ar/src/0xa1-broken-object-level-authorization.md b/2019/ar/src/0xa1-broken-object-level-authorization.md index dccfdd2a6..5c4d0658f 100644 --- a/2019/ar/src/0xa1-broken-object-level-authorization.md +++ b/2019/ar/src/0xa1-broken-object-level-authorization.md @@ -11,7 +11,7 @@ الانتشار : 3 قابلية الاكتشاف : 2 التأثر التقني و تأثر الاعمال: 3 - يستطيع المهاجم استغلال نقاط الضعف في مصادر البيانات Endpoint المتأثرة بخلل في الصلاحيات من خلال التلاعب او التغير بالمعرف الفريد عند ارسال الطلبات. قد يؤدي كذلك الى الوصول غير المصرح به الى البيانات الحساسة. وتعتبر خلل تفويض الصلاحيات مشكلة شائعة جداً في التطبيقات بسبب عدم إمكانية الخوادم من تتبع العمليات التي يقوم بها المستخدم بشكل كامل. وحيث انه يعتمد بشكل كامل على إيصال كل معرف فريد لمصدر البيانات الذي يطلب منه. + يستطيع المهاجم استغلال نقاط الضعف في مصادر البيانات Endpoint المتأثرة بخلل في الصلاحيات من خلال التلاعب او التغيير بالمعرف الفريد عند ارسال الطلبات. قد يؤدي كذلك الى الوصول غير المصرح به الى البيانات الحساسة. ويعتبر خلل تفويض الصلاحيات مشكلة شائعة جداً في التطبيقات بسبب عدم إمكانية الخوادم من تتبع العمليات التي يقوم بها المستخدم بشكل كامل. وحيث انه يعتمد بشكل كامل على إيصال كل معرف فريد لمصدر البيانات الذي يطلب منه. يعتبر هذا الهجوم هو الأكثر شيوعاً على واجهات برمجة التطبيقات API. حيث ان استخدام مثل هذه الاليات شائعة جداً في التطبيقات الحديثة وواسعة الانتشار. حتى وان كانت صلاحيات الوصول في البنية التحتية للتطبيق مبنيه بشكل سليم، فقد ينسى المطورون استخدام تلك الصلاحيات في الوصول الى البيانات الحساسة وقد لا يتم اكتشاف نقاط الضعف المبنية على خلل صلاحيات الوصول من خلال عمليات المسح للبحث عن الثغرات بشكل آلي. يمكن أن يؤدي الوصول غير المصرح به إلى الكشف عن البيانات لأطراف غير مصرح لها أو فقدان البيانات أو التلاعب بها وكذلك يمكن أن يؤدي الوصول غير المصرح به إلى إلى الاستيلاء الكامل على الحساب. @@ -20,7 +20,7 @@

هل أنا معرض لهذه الثغرة؟

ان عمليات إدارة صلاحيات الوصول والتحكم بها عادة يبنى من خلال كتابة الاكواد البرمجية في المقام الأول بشكل سليم بحيث يستطيع المستخدم الوصول الى البيانات المسموح له بالوصول لها. -ان جميع مصادر البيانات الخاصة بـ API لها معرف وكائن وصلاحيات خاص ومرتبطة بها، وعند وجود أي اجراء على تلك المصادر او الكائنات يجب ان يتم استخدام تلك التصاريح. حيث يتم التحقق من صلاحيات المستخدم الذي قام بعملية تسجيل الدخول ومعرفة إذا كان لدية حق الوصول لأجراء او استعراض او تعديل البيانات. وعادة ما يؤدي الفشل في التحقق من هذه الالية الى الكشف والتعديل عن معلومات وبيانات الغير مصرح به. +ان جميع مصادر البيانات الخاصة بـ API لها معرف وكائن وصلاحيات خاصة ومرتبطة بها، وعند وجود أي اجراء على تلك المصادر او الكائنات يجب ان يتم استخدام تلك التصاريح. حيث يتم التحقق من صلاحيات المستخدم الذي قام بعملية تسجيل الدخول ومعرفة إذا كان لدية حق الوصول لإجراء او استعراض او تعديل البيانات. وعادة ما يؤدي الفشل في التحقق من هذه الالية الى الكشف والتعديل عن معلومات وبيانات الغير مصرح به.

امثلة على سيناريوهات الهجوم:

@@ -28,7 +28,7 @@

السيناريو الاول:

-توفر منصة التجارة الالكترونية مواقع عبر الانترنت (عبارة عن متاجر الالكترونية) خدمة مصادر الربح الخاصة بالمتاجر المستضاف على المنصة، حيث يستطيع المهاجم من خلال عرض مصدر الصفحة معرفة API الذي قام بجلب تلك المعلومات ومعرفة مصدرها على سبيل المثال : `/shops/{shopName}/revenue_data.json` ومن خلال تلك الطريقة يستطيع المهاجم من الحصول على بيانات الربح لجميع المتاجر المتسضافة في المنصة من خلال تغير {shopName} في عنوان URL بطريقة غير مصرح بها. +توفر منصة التجارة الالكترونية مواقع عبر الانترنت (عبارة عن متاجر إلكترونية) خدمة مصادر الربح الخاصة بالمتاجر المستضاف على المنصة، حيث يستطيع المهاجم من خلال عرض مصدر الصفحة معرفة API الذي قام بجلب تلك المعلومات ومعرفة مصدرها على سبيل المثال : `/shops/{shopName}/revenue_data.json` ومن خلال تلك الطريقة يستطيع المهاجم من الحصول على بيانات الربح لجميع المتاجر المتسضافة في المنصة من خلال تغير {shopName} في عنوان URL بطريقة غير مصرح بها.

السيناريو الثاني :

@@ -37,10 +37,10 @@

كيف أمنع هذه الثغرة؟

-

▪️ الاعتماد على سياسة و آلية تخويل لصلاحيات تعتمد على سياسة الاستخدام المقبول والتسلسل الهرمي السهل الواضح. -

▪️ استخدام آلية لتحقق من صلاحيات المستخدم الذي قام بتسجيل الدخول وهل لديه الحق في تنفيذ الإجراءات على السجلات في كل سجل على حدة وبشكل مستقل. -

▪️ يفضل استخدام قيم عشوائية وغير قابلة لتخمين في استخدام GUIDs في السجلات -

▪️ يفضل كتابة معايير لاختبار مدى نضج التفويض والصلاحيات وفي حال وجود أي ثغرة يفضل عدم استخدمها حتى تتخطى الاختبارات والمعايير المتفق عليها. +

▪️ الاعتماد على سياسة و آلية تحويل لصلاحيات تعتمد على سياسة الاستخدام المقبول والتسلسل الهرمي السهل الواضح. +

▪️ استخدام آلية للتحقق من صلاحيات المستخدم الذي قام بتسجيل الدخول وهل لديه الحق في تنفيذ الإجراءات على السجلات في كل سجل على حدة وبشكل مستقل. +

▪️ يفضل استخدام قيم عشوائية وغير قابلة للتخمين في استخدام GUIDs في السجلات +

▪️ يفضل كتابة معايير لاختبار مدى نضج التفويض والصلاحيات وفي حال القيام باى تغيير يؤدى الى ثغرة يفضل عدم القيام به حتى تتخطى الاختبارات والمعايير المتفق عليها.

المراجع :

المصادر الخارجية :