Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
auth-header-trust-rules — قواعد Semgrep التي ترصد أنماط تجاوز المصادقة القائمة على الثقة في الترويسات (فئة CVE-2025-29927). مكمّل لـ bk-security.github.io. | Kitploit
أدوات/GitHubGitHub/bk-security/auth-header-trust-rules
المصادقة والترخيصتحليل الشفرة الثابت (SAST)تحليل الثغرات الأمنيةتحليل الكودأمن الويبالتعلم والتعليم
GitHubbk-security/auth-header-trust-rules

auth-header-trust-rules

قواعد Semgrep التي ترصد أنماط تجاوز المصادقة القائمة على الثقة في الترويسات (فئة CVE-2025-29927). مكمّل لـ bk-security.github.io.

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ 3 أشهرلم تتم المراجعة بعد

auth-header-trust-rules

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

المثال النموذجي لهذه الفئة من الثغرات هو CVE-2025-29927: وثِق Next.js بترويسة x-middleware-subrequest لتقرير ما إذا كان الوسيط (middleware) سيُنفَّذ، وأي طلب وارد يوفّر قيمة مصمّمة بعناية كان بإمكانه تخطي الوسيط بالكامل. ويتكرر النمط نفسه عبر الأطر البرمجية والأنظمة البيئية.

تشمل هذه الحزمة قواعد لعائلتين من لغات البرمجة وثلاث فئات فرعية من الخلل. وهي مُعدّة كأداة مساعدة لمراجعة الكود، وليست بوابة تكامل مستمر (CI) مضبوطة بالكامل. تفضّل القواعد الاستدعاء (recall) على الدقة، ومن الأفضل تشغيلها تفاعليًا، على أن يتخذ إنسان القرار النهائي بشأن كل نتيجة.

للحصول على شرح أطول لفئة الثغرات وخيارات التصميم الكامنة خلف هذه الحزمة، راجع bk-security.github.io.

فهرس القواعد

القاعدةاللغةالخطورةما تكتشفه
nodejs-header-flag-auth-bypassJS / TSWarningقراءات الترويسات التي يوحي اسمها باستخدام بروتوكولي داخلي أو تجاوز للمصادقة (x-internal، x-bypass-auth، x-middleware-subrequest، x-admin-override، x-impersonate، إلخ)
nodejs-header-as-identityJS / TSWarningقراءات الترويسات التي تُستخدم تقليديًا لحمل هوية المستخدم (x-forwarded-user، x-authenticated-user، x-remote-user، إلخ)
nodejs-forwarded-for-trustJS / TSInfoقراءات x-forwarded-for وx-real-ip وما يشابههما من ترويسات عنوان المصدر التي يُوثق بها عادةً في قرارات أمنية
python-header-flag-auth-bypassPythonWarningنفس نمط متغير Node.js، بما في ذلك الوصول بنمط Django عبر request.META["HTTP_X_*"]
python-header-as-identityPythonWarningنفس نمط متغير Node.js بنكهة Python
python-forwarded-for-trustPythonInfoنفس نمط متغير Node.js بنكهة Python

البداية السريعة

تثبيت Semgrep:

root@kitploit:~
pip install semgrep

تشغيل الحزمة على هدف ما:

root@kitploit:~
semgrep --config /path/to/auth-header-trust-rules/rules /path/to/target

أو تشغيل قاعدة واحدة:

root@kitploit:~
semgrep --config /path/to/auth-header-trust-rules/rules/nodejs/header-flag-auth-bypass.yaml /path/to/target

التحقق من صحة القواعد مقابل ملفات الاختبار المرفقة:

root@kitploit:~
semgrep --test --config rules/ tests/

المخرجات المتوقعة:

root@kitploit:~
6/6: ✓ All tests passed

ما ستلتقطه القواعد وما لن تلتقطه

تطابق القواعد قائمة منسقة من أسماء الترويسات المعروفة بخطورتها عند الوثوق بها. ستلتقط الحالات الشائعة. ولن تلتقط:

  • الأطر البرمجية التي تكون فيها قراءة الترويسة مخفية داخل دالة مساعدة لا يحتوي اسمها على سلسلة الترويسة. فدالة مساعدة مخصصة باسم getInternalFlag(req) تقرأ x-some-novel-name ستمرّ عبر القواعد.
  • أسماء الترويسات غير المدرجة في القائمة المنسقة. يمكن لفئة CVE-2025-29927 من حيث المبدأ استخدام أي اسم ترويسة؛ ونحن نميل إلى جانب الاستدعاء بتضمين أنماط مثل x-internal-* وx-trust-* وx-bypass-*، لكن الأسماء الجديدة ستتسرب.
  • قرارات المصادقة المبنية على ملفات تعريف الارتباط (cookies) أو معاملات الاستعلام أو حقول جسم الطلب. فهي من نفس فئة الثغرات لكنها تتطلب قواعد خاصة بها.
  • قرارات المصادقة المبنية على غياب ترويسة. بعض التطبيقات تتخطى فحوصات المصادقة عندما تكون الترويسة غير موجودة (نمط قائمة مسموحات مضبوط بشكل خاطئ). القواعد الحالية قائمة على القراءة والاستخدام وليست مبنية على الغياب.

عند توسيع الحزمة لملاءمة قاعدة برمجية معينة، تكون الإضافات الأعلى قيمةً عادةً هي أنماط الدوال المساعدة الخاصة بالإطار البرمجي. إذا كانت قاعدة برمجية تحتوي على دالة مساعدة isInternalRequest(req)، فإن القاعدة التي تلتقطها هي سطر واحد من YAML.

إضافة قاعدة

  1. أنشئ القاعدة تحت rules/<lang>/<name>.yaml.
  2. أنشئ ملف اختبار تحت tests/<lang>/<name>.<ext> مع أمثلة إيجابية معلمة بـ # ruleid: <rule-id> وأمثلة سلبية معلمة بـ # ok: <rule-id>.
  3. شغّل semgrep --test --config rules/ tests/. ستُلتقط القاعدة وملف الاختبار الجديدان تلقائيًا؛ ويجب أن تنجح الاختبارات قبل تقديم التغيير.

الترخيص

MIT.

المؤلف

Bruce Kang. المصدر البرمجي للمقالة المصاحبة موجود على bk-security.github.io.

تنزيل الأداة