





السمعة:
- إنضم17 يونيو 2023
- المشاركات 497
- الحلول 10
- مستوى التفاعل 1,078
- النقاط 93
IDOR
الـ IDOR هي بتحصل لما موقع ويب بيستخدم معلومات اليوزر نفسه بشكل مباشر بدل ما يتحقق منها أولاً.مثلاً، إذا كان فيه ثغرة IDOR، لما اكون بايباك (تقوم بالعمليات دون أن يلاحظك الموقع) على الموقع وتستولي على اشياء من غير ما يشوفك! أنا ممكن أستخدمها عشان أجيب معلومات أو اشياء من غير ما الموقع يتحقق إنها فعلاً الي انا.
مثال
لو عندي موقع بيعرض ملفات وكل ملف مرتبط برقم، والموقع بيسمح لليوزر بكتابة الرقم بنفسه في الرابط لجلب الملف. إذا ما كان في اجراءات أمان قويه، اليوزر ممكن يغير الرقم في الرابط ويوصل لملفات مش مخصصة له.
راح نتحدث عن ستة مواضيع بالتحديد :
1. مثال نظري على ثغرة IDOR
2.. اكتشاف ثغرات IDOR في الهويات المُشفرة
3. اكتشاف ثغرات IDOR في الهويات المُشفرة بالتجزئة
4. اكتشاف ثغرات IDOR في الهويات الصعبة التنبؤ بها
5. أين تتواجد ثغرات IDOR في الموقع
6. مثال عملي على ثغرة IDOR
هذه الروم تتطلب اشتراك 

مثال نظري على ثغرة IDOR
عند فتح الايميل تجد رساله بها معلومات الفاتوره
عند فتح الرابط
يمكنك من خلال الرابط عند فتح الايميل تجد رساله بها معلومات الفاتوره

عند فتح الرابط

https://onlinestore.thm/order/1234/invoice
تغير رقم الـ Orderنجعله 1000 كما يخبر المثال
اكتشاف ثغرات IDOR في الهويات المُشفرة ( encryption )
لما تبعث معلومات من صفحة لصفحة في موقع ويب، زي ما تبعثها عبر الـ POST أو عبر الـ query strings (النصوص اللي بتيجي في رابط الصفحة) أو حتى عبر الـ cookies، مطوري المواقع عادة بيختاروا يعملو encryption للمعلومات هاي أولاً. السبب هو إن encryption بتضمن إن الخادم اللي بياخد المعلومات هيفهمها بشكل صحيح
الـ encryption بتحول المعلومات من تمثيلها البايناري إلى سلسلة نصية مكونة من الأحرف اللاتينية الصغيرة والكبيرة والأرقام وعلامة اليساوي (=) لملء الفراغات.
أكثر تقنية encryption شائعة على الويب
هي تقنية الـ base64 encoding. ممكن تستخدم مواقع زي Base64 decode لفك تشفير السلسلة النصية، وبعدين تعديل المعلومات ,وتعملها encryption مرة ثانية باستخدام Base64 decode وترسل الطلب مرة ثانية على الموقع عشان تشوف إذا كان في تغيير في الاستجابة.
على سبيل المثال، إذا كان عندك IDOR وعارف إنه في base64 encoding، تقدر تجرب تعمل encryption لبيانات وتغيرها وتشوف تأثيرها على الاستجابة من الموقع.
تمثل الصوره مثال على هذه العمليه
base64
اكتشاف ثغرات IDOR في الهويات المُشفرة بالتجزئة ( Hash )
الـ Hashed IDs ، يعني الـ IDs اللي مخزنة في الموقع ما بتكون واضحة، بنعملها عملية تشفير, التشفير بخليها تتحول إلى نص معقد بعد ما ينعمل لها هاش، على سبيل المثال لو الـ ID تاعك هو 123، فلمى تفتح اي اشي بكون هيك نتيجته 202cb962ac59075b964b07152d234b70 لو انعمل عليه MD5 هاش.
فالموضوع اللي راح نعمله هو إننا نحاول نلاقي طريقة نشوف بيانات الناس من غير ما نكون عندنا الصلاحيات للوصول اليها. بنقدر نجرب نحلل الـ Hash ده عن طريق موقع زي Crack Station اللي بيستخدم قاعدة بيانات كبيرة بتحتوي على مليارات من الـ Hash والقيم المقابلة الهم. بنحط الـ Hash في الموقع هاد وبنشوف إذا كان فيه قيمة متطابقة.
على سبيل المثال، لو نجحنا نعمل Decode للـ Hash وطلع إنه بيمثل الـ ID رقم 123، هاد بكون IDOR لأننا وصلنا لبيانات من غير ما نكون مخولين بالوصول لها.
اكتشاف ثغرات IDOR في الهويات الصعبة التنبؤ بها
لو مش قادر تعرف الـ ID بالطرق العادية، يعني مثلاً لو الموقع ما بعرض الـ ID في العناوين اللي في الروابط أو في الصفحة، ممكن تستخدم طريقة ثانية. بتقدر تعمل حسابين على الموقع وتحاول تبادل أرقام الـ ID بينهم. إذا كنت قادر تشوف محتوى المستخدمين التانيين باستخدام أرقام الـ ID تاعتهم وأنت مسجل دخول بحساب ثاني أو حتى من غير ما تكون مسجل دخول، هاد بكون لقيت ثغرة IDOR صحيحة.
مثال: فلنفترض إن موقع التواصل الاجتماعي عنده رقم معين لكل منشور، والمفروض إنك تقدر تشوف المنشور بس إذا كنت مسجل دخول. بس لو في ثغرة IDOR في الموقع، بإمكانك أن تجرب تغير الرقم في العنوان وتشوف المنشور حتى وإن لم تكن مسجل دخول بحسابك.
ما هو الحد الأدنى لعدد الحسابات التي تحتاج إلى إنشائها للتحقق من معرفات الـ IDOR بين الحسابات؟
2
أين تتواجد ثغرات IDOR في الموقع
الناس اللي بتخترق المواقع والسيرفرات بتدور على اشياء اسمها IDORs ،
والـ IDORs هاي هيا مكان الضعف اللي بيتم استغلالها. المكان هاد مش دايما هو اللي بتشوفه في شريط العناوين في المتصفح، يعني مش لازم تكون في الـ URL تاع الصفحة.
المكان اللي بتستهدفه ممكن يكون بيجيب بيانات بشكل ديناميكي عن طريق طلبات AJAX أو يتم الإشارة له في ملفات JavaScript .
يعني ممكن تلاقي مكان معين في الموقع اللي بيعرض بيانات معينة زي بيانات المستخدم اللي داخل على الموقع. بس ممكن تكتشف إن في باراميتر مش مشهور اسمه user_id مثلاً، وهاي ممكن تستخدمها عشان تشوف بيانات مستخدمين ثانيين، زي
/user/details?user_id=123
.أهم اشي إنك تعرف إن في بعض المرات الصفحات هاي اللي بتحتوي على باراميترات مش مشهورة ممكن تفيدك في الاختراق، وهاد إللي بكون أهم حاجة للهاكرز إنهم يدوروا عليها عشان يستفيدوا منها في اختراق الموقع أو التطبيق.
مثال عملي على ثغرة IDOR
ننشئ حساب على الموقع
بعد الحصول على حساب نفتح على اعدادات المطور ثم على الشبكه ثم نجد عند اعاده تحميل الصفحه انه يوجد استدعاء الى المسار api/v1/customer?id=15
كما هو بالصوره
عند الضغط عليه تظهر معلوماتي
نغير قيمه ال id الى 1
ثم نغير قيمه ال id الى 3
المرفقات
التعديل الأخير: