جلسات، كوكيز، وصلاحيات
الثغرة رقم واحد في OWASP: تجاوز المصادقة، وIDOR، وكسر المنطق.
المصادقة = 'مينك'. التفويض = 'إيش يحقّلك'. أغلب المواقع بيهتم بالأولى وينسى الثانية. هون بتسرق الفواتير.
IDOR: غيّر الرقم
GET /api/invoice/1042 → 200 OK (فاتورتك)
GET /api/invoice/1043 → 200 OK (فاتورة غيرك!)
# الخادم سأل: 'إيش الرقم؟' — وما سأل: 'إيش علاقتك بالرقم؟'وفي الشكل الأرقى: تغيّر نوع المعرّف من رقم لاسم، أو تغيّر بارامتر مثل role=user لـ role=admin، أو تضيف &admin=1 على الطلب. المواقع اللي بتثق بالعميل بتسقط فوراً.
كسر المنطق
- ترتيب خطوات مسكوت عنه: تدفع قبل ما تتحقق من العنوان؟
- سالب: quantity=-1 → يرجعلك فلوس.
- إعادة استعمال رمز خصم: استخدمو مرتين.
- تسابق (race): اضغط 'استخدم الرصيد' مرتين بنفس اللحظة.
كسر المنطق ما بيكتشفو أي ماسح آلي — لأنو ما في 'ثغرة'. بس الإنسان اللي يسأل 'شو لو عملت العكس؟' يلاقيو. هون قيمة المختبر.
العلاج: كل طلب لازم يتحقق من الصلاحية في الخادم، مش في الواجهة. إخفاء الزر مش حماية — أي حد يقدر ينادي الطلب مباشرة.
خلّينا نطبّق خطوة بخطوة
ستجرب طلبك ثم طلباً وهمياً لشخص آخر لتفهم خطأ التحقق من صاحب البيانات.
بكلمات بسيطة: الصلاحية: هل يحق لك رؤية هذه البيانات؟ العلم: رمز الإنجاز الظاهر في النتيجة؛ انسخه كاملاً.
الخطوة 1 من 3
اضغط «اعرض الطلب» والرقم ١٠٠١ في الخانة.
ليش؟ هذا طلبك في قصة التمرين؛ نبدأ بالوضع الطبيعي.
شو لازم تشوف؟ يظهر كتابك وسعره.
اختبار سريع
اقرأ السؤال واضغط الإجابة التي تراها صحيحة. يظهر تحتها سبب الإجابة؛ وإذا أخطأت، اقرأ السبب وغيّر اختيارك. يُسجّل الدرس مكتملًا عندما تصح كل إجاباتك.
IDOR أيش يعني باختصار؟
أيش العلاج الحقيقي لتجاوز الصلاحيات؟