تخط إلى المحتوى
English

عيوب التخزين المؤقت والترويسات HTTP Caching

صفحة خاصة تخزن عاما وتسميم الكاش عبر ترويسة غير مضمومة وخداع الكاش ليخزن صفحة خاصة تحت مسار ثابت

المسار
أمن الويب
الوقت المتوقع
22 د
المستوى
متوسط
تقدمك في المسار0%

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

ما هي الثغرة؟

  • صفحة خاصة تخزن عاما صفحة لكل مستخدم تحمل Cache-Control public فيخزن الكاش المشترك رد مستخدم ويسلمه للتالي
  • تسميم الكاش صفحة تعكس إدخالا غير مضموم ترويسة مثل X-Forwarded-Host لكن الكاش مفتاحه المسار فقط فطلب خبيث واحد يسمم النسخة المخزنة التي يتلقاها كل زائر
  • خداع الكاش صفحة خاصة no-store لكن الكاش يخزن ما ينتهي بـ css والتوجيه الفضفاض يرجع الصفحة الخاصة لـ account يتبعه x.css فتخزن بيانات الضحية تحت مسار يبدو ثابتا يقرأه المهاجم

لماذا تحدث؟

الكاش والتطبيق يختلفان على ما يعتمد عليه الرد وهل هو خاص الكاش يفتح على العنوان والرد يتغير حسب ترويسة الكاش يثق بلاحقة الملف والتطبيق وسمه no-store وكل فجوة خفية حتى يجلس كاش مشترك في المنتصف

كيف تتوقف؟

علم الردود الخاصة بـ Cache-Control private و no-store ولا تعكس ترويسة غير موثوقة في رد قابل للتخزين وضم كل ما يؤثر في الرد في مفتاح الكاش واجعل الكاش يحترم ترويسات التخزين بدل التخمين من المسار وضيق التوجيه حتى لا تصل لاحقة مصممة لمعالج حساس

اللابات الثلاثة أدناه تمشي هذا اقرأ صفحة خاصة مخزنة عاما وسمم صفحة عبر ترويسة واخدع الكاش ليخزن صفحة خاصة

اللابات

  • صفحة خاصة في كاش عام

    سهللاب في المتصفح

    اجلب بيانات admin الخاصة من الكاش المشترك

  • تسميم الكاش

    متوسطلاب في المتصفح

    سمم الكاش فتتلقى الضحية سكربتا من موقعك

  • خداع الكاش

    صعبلاب في المتصفح

    اخدع الكاش ليخزن بيانات admin تحت مسار ثابت ثم اقرأها