محلل رؤوس الأمان
الصق رؤوس استجابة HTTP الأولية من علامة التبويب 'curl -I' أو 'شبكة DevTools' واحصل على تدقيق أمني متدرج - محلل نحوي حقيقي لسياسة أمان المحتوى بالإضافة إلى HSTS وX-Frame-Options وإشارات ملفات تعريف الارتباط والمزيد، دون الاتصال بالإنترنت تمامًا.
النتيجة
تحمل رؤوس الاستجابة معظم سياسة الأمان الحقيقية التي يفرضها المتصفح لموقع الويب، ومع ذلك فمن السهل أن تخطئ في قراءتها بالعين المجردة: يمكن أن تبدو سياسة أمان المحتوى صارمة في لمحة بينما تسمح بهدوء بالنصوص البرمجية "غير الآمنة المضمنة"، ويمكن أن يكون رأس Strict-Transport-Security موجودًا بحد أقصى للعمر قصير جدًا لدرجة أنه بالكاد يفعل أي شيء. تأخذ هذه الأداة كتلة الرأس الأولية التي تلصقها - المنسوخة مباشرة من curl -I، أو Postman، أو طلب علامة تبويب DevTools Network للمتصفح - وتقوم بتشغيلها من خلال نفس فئة عمليات التحقق التي يستخدمها مصححو الرؤوس المشهورون عبر الإنترنت، بالكامل في متصفحك. لا يتم جلب أي شيء: كل ما تلصقه هو كل ما يتم تحليله، مما يعني أنه يعمل بشكل مماثل لموقع إنتاج عام، أو خادم مرحلي داخلي، أو نقطة نهاية تقع خلف جدار حماية لا يمكن لأي ماسح ضوئي خارجي الوصول إليه على الإطلاق.
المحور الرئيسي هو محلل نحوي حقيقي لسياسة أمان المحتوى، وليس قائمة مرجعية. يتم تقسيم قيمة الرأس بفواصل منقوطة إلى توجيهات، ويتم تقسيم قائمة مصادر كل توجيه وفحصها وفقًا لشروطها الخاصة: يتم وضع علامة على التوجيهات ذات الصلة بالبرنامج النصي والنمط إذا كانت تسمح بـ "غير آمن مضمن" أو "تقييم غير آمن"، ويتم وضع علامة على أي توجيه لمصدر حرف البدل "*" (مع خطورة إضافية عندما يكون حرف البدل هذا على script-src أو object-src أو base-uri أو default-src)، ومصادر المخططات الواسعة مثل يتم استدعاء "https:" في توجيه البرنامج النصي بقدر ما هو متساهل مثل حرف البدل، ويتم فحص السياسة ككل بحثًا عن احتياطي src الافتراضي المفقود وللتوجيهات المهملة (حظر كل المحتوى المختلط، وأنواع المكونات الإضافية، والمرجع، وxss المنعكس) التي تتجاهلها المتصفحات الحديثة ببساطة. يتم التعرف على CSP الذي يتم إرساله فقط كتقرير سياسة أمان المحتوى فقط ووضع علامة عليه على أنه لم يتم تطبيقه فعليًا بعد، وهو يختلف عن السياسة المفقودة تمامًا.
بخلاف CSP، تتحقق الأداة من Strict-Transport-Security من خلال تحليل توجيه الحد الأقصى الخاص بها ووضع علامة على القيم تحت ستة أشهر تقريبًا باعتبارها قصيرة جدًا بحيث لا تكون فعالة بشكل مفيد، بالإضافة إلى ما إذا تم تعيين includeSubDomains والتحميل المسبق. يجب أن تكون خيارات X-Content-Type-Options هي السلسلة الدقيقة "nosniff" أو يتم وضع علامة عليها على أنها متجاهلة من قبل المتصفحات. تم تحديد X-Frame-Options بحثًا عن DENY أو SAMEORIGIN، لكن الأداة تدرك أيضًا أن توجيه أسلاف إطار CSP هو البديل الحديث لحماية اصطياد النقرات - إذا كان ذلك موجودًا، فسيتم التعامل مع X-Frame-Options على أنها مغطاة حتى في حالة غياب الرأس القديم نفسه. يتم التحقق من سياسة الإحالة مقابل القائمة الحقيقية للكلمات الرئيسية الصالحة ويتم وضع علامة عليها في حالة تعيينها على قيمة "unsafe-url" المسربة لعنوان URL، ويتم التحقق من وجود سياسة الأذونات، ويتم تحليل كل سطر Set-Cookie يتم العثور عليه بحثًا عن سمات Secure وHttpOnly وSameSite الخاصة به، بما في ذلك القاعدة المحددة التي تنص على أن SameSite=None يتم رفض ملفات تعريف الارتباط بدون تأمين بصمت من قبل المتصفحات.
ينتج عن كل فحص حالة من ثلاث حالات صادقة - جيدة، أو بحاجة إلى الاهتمام، أو مفقودة - مع شرح باللغة الإنجليزية البسيطة لسبب أهمية هذا الرأس في الهجمات الحقيقية (XSS، واختراق النقرات، وسرقة ملفات تعريف الارتباط، والرجوع إلى إصدار أقدم من البروتوكول)، وتكون الدرجة A-F الإجمالية عبارة عن مجموع شفاف من النقاط لكل رأس بدلاً من درجة الصندوق الأسود. يمكن نسخ التقرير الكامل كنص عادي بنقرة واحدة للصقه في طلب سحب أو تذكرة أو مراجعة أمنية، ولأن التحليل يحدث بالكامل من النص الملصق، فإن هذه الأداة مفيدة بنفس القدر لمراجعة رؤوس موقعك، أو مراجعة استجابة البائع قبل التكامل معهم، أو التحقق مرة أخرى من تغيير التكوين قبل شحنه.