مضى على الشبكة و يوم من العطاء.
  • تحذير: يجب على كل روّاد الشبكة تشغيل برامج الاختراق داخل الأنظمة الوهمية وهي بهدف التعلم وحماية الأعضاء والتوعية بها

[ WalkTh ] التعرف على ثغرة IDOR ـ ( IDOR )

3b0-0d3b0-0d is verified member.

{ || مشرف قسم CTF || }
.:: طاقم المشرفين ::.

السمعة:

IDOR
92b349206a2901c187e32ad074eae45c
الـ IDOR هي بتحصل لما موقع ويب بيستخدم معلومات اليوزر نفسه بشكل مباشر بدل ما يتحقق منها أولاً.

مثلاً، إذا كان فيه ثغرة IDOR، لما اكون بايباك (تقوم بالعمليات دون أن يلاحظك الموقع) على الموقع وتستولي على اشياء من غير ما يشوفك! أنا ممكن أستخدمها عشان أجيب معلومات أو اشياء من غير ما الموقع يتحقق إنها فعلاً الي انا.
مثال

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


راح نتحدث عن ستة مواضيع بالتحديد :

1. مثال نظري على ثغرة IDOR
2.. اكتشاف ثغرات IDOR في الهويات المُشفرة
3. اكتشاف ثغرات IDOR في الهويات المُشفرة بالتجزئة
4. اكتشاف ثغرات IDOR في الهويات الصعبة التنبؤ بها
5. أين تتواجد ثغرات IDOR في الموقع

6. مثال عملي على ثغرة IDOR



هذه الروم تتطلب اشتراك ⚠️

مثال نظري على ثغرة IDOR

عند فتح الايميل تجد رساله بها معلومات الفاتوره 👇

image



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

image
يمكنك من خلال الرابط https://onlinestore.thm/order/1234/invoice تغير رقم الـ Order

نجعله 1000 كما يخبر المثال

image


اكتشاف ثغرات 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 لأننا وصلنا لبيانات من غير ما نكون مخولين بالوصول لها.

image
الجواب Md5

اكتشاف ثغرات IDOR في الهويات الصعبة التنبؤ بها

لو مش قادر تعرف الـ ID بالطرق العادية، يعني مثلاً لو الموقع ما بعرض الـ ID في العناوين اللي في الروابط أو في الصفحة، ممكن تستخدم طريقة ثانية. بتقدر تعمل حسابين على الموقع وتحاول تبادل أرقام الـ ID بينهم. إذا كنت قادر تشوف محتوى المستخدمين التانيين باستخدام أرقام الـ ID تاعتهم وأنت مسجل دخول بحساب ثاني أو حتى من غير ما تكون مسجل دخول، هاد بكون لقيت ثغرة IDOR صحيحة.

مثال: فلنفترض إن موقع التواصل الاجتماعي عنده رقم معين لكل منشور، والمفروض إنك تقدر تشوف المنشور بس إذا كنت مسجل دخول. بس لو في ثغرة IDOR في الموقع، بإمكانك أن تجرب تغير الرقم في العنوان وتشوف المنشور حتى وإن لم تكن مسجل دخول بحسابك.

image
ما هو الحد الأدنى لعدد الحسابات التي تحتاج إلى إنشائها للتحقق من معرفات الـ IDOR بين الحسابات؟
2



أين تتواجد ثغرات IDOR في الموقع

الناس اللي بتخترق المواقع والسيرفرات بتدور على اشياء اسمها IDORs ،
والـ IDORs هاي هيا مكان الضعف اللي بيتم استغلالها. المكان هاد مش دايما هو اللي بتشوفه في شريط العناوين في المتصفح، يعني مش لازم تكون في الـ URL تاع الصفحة.

المكان اللي بتستهدفه ممكن يكون بيجيب بيانات بشكل ديناميكي عن طريق طلبات AJAX أو يتم الإشارة له في ملفات JavaScript .
يعني ممكن تلاقي مكان معين في الموقع اللي بيعرض بيانات معينة زي بيانات المستخدم اللي داخل على الموقع. بس ممكن تكتشف إن في باراميتر مش مشهور اسمه user_id مثلاً، وهاي ممكن تستخدمها عشان تشوف بيانات مستخدمين ثانيين، زي /user/details?user_id=123 .

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


مثال عملي على ثغرة IDOR

ننشئ حساب على الموقع

image

بعد الحصول على حساب نفتح على اعدادات المطور ثم على الشبكه ثم نجد عند اعاده تحميل الصفحه انه يوجد استدعاء الى المسار api/v1/customer?id=15

كما هو بالصوره

image

عند الضغط عليه تظهر معلوماتي

image


image

نغير قيمه ال id الى 1

image

ثم نغير قيمه ال id الى 3


image
 

المرفقات

  • image.png
    image.png
    1.8 KB · المشاهدات: 136
  • image.png
    image.png
    2.6 KB · المشاهدات: 129
التعديل الأخير:

آخر المشاركات

عودة
أعلى