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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2022-31692 — مشروع يوضح تطبيقًا معرضًا لثغرة تجاوز صلاحيات أمان Spring Security CVE-2022-31692 | Kitploit
أدوات/GitHubGitHub/blipzip/cve-2022-31692
المصادقة والترخيصتحليل الثغرات الأمنيةاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubblipzip/cve-2022-31692

cve-2022-31692

مشروع يوضح تطبيقًا معرضًا لثغرة تجاوز صلاحيات أمان Spring Security CVE-2022-31692

عرض المستودع
356منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

CVE-2022-31692 عرض توضيحي

نظرة عامة

تطبيق Spring Boot بسيط يوضح تهيئة معرضة لـ CVE-2022-31692.

قد تجذب هذه الثغرة الانتباه بسبب شدتها - حيث حصلت على درجة أساسية 9.8 من CVSS 3.x لأنها تسمح بتجاوز المصادقة. الغرض من هذا المشروع هو توضيح الشروط الموصوفة في الإشعار، والتي تؤدي إلى قابلية تطبيق الثغرة.

  • يتوقع التطبيق أن يقوم Spring Security بتطبيق الأمان على أنواع المرسل forward و include.
  • يستخدم التطبيق AuthorizationFilter إما يدويًا أو عبر طريقة authorizeHttpRequests().
  • يقوم التطبيق بتهيئة FilterChainProxy ليطبق على طلبات forward و/أو include (مثل spring.security.filter.dispatcher-types = request, error, async, forward, include).
  • قد يقوم التطبيق بإعادة توجيه (forward) أو تضمين (include) الطلب إلى نقطة نهاية محمية بصلاحيات أعلى.
  • يقوم التطبيق بتهيئة Spring Security ليطبق على كل نوع مرسل عبر authorizeHttpRequests().shouldFilterAllDispatcherTypes(true).

كمرجع، أنا متأكد إلى حد كبير أن هذا هو الالتزام (commit) الذي يعالج الثغرة.

عرض توضيحي

يحتوي التطبيق على ثلاثة عناوين URL:

  1. / صفحة الفهرس
  2. /admin صفحة إدارية، تتطلب من المستخدم تقديم مصادقة أساسية (بيانات الدخول "user"/"pass") وأن يكون لديه دور ROLE_ADMIN
  3. /forward إعادة توجيه من جانب الخادم إلى صفحة الإدارة

يتم تحديد ضوابط الوصول عبر authorizeHttpRequests() في الفئة SecurityConfig.

root@kitploit:~
.authorizeHttpRequests((authz) -> authz
	.antMatchers("/").permitAll()
	.antMatchers("/forward").permitAll()
	.antMatchers("/admin").hasAuthority("ROLE_ADMIN")
	.shouldFilterAllDispatcherTypes(true)
)

السلوكيات المتوقعة

  1. يصل المستخدم إلى / ولا يتم المصادقة (بفضل permitAll()).

  2. يصل المستخدم إلى /admin . لا يقدم مصادقة، ويتم رفض الطلب (401 غير مصرح).

  3. يصل المستخدم إلى /admin . يقدم مصادقة صالحة، ولكن الطلب لا يزال مرفوضًا (403 غير مرخص) لأنه لا يملك الدور المطلوب .hasAuthority("ROLE_ADMIN").

  4. يصل المستخدم إلى /forward. تمر طلباته عبر سلسلة مرشح الأمان لـ GET /forward، والتي تمر كصحيحة (بفضل permitAll()). يعالج المتحكم (controller) الطلب، ويعيد forward:/admin إلى المرسل (Dispatcher). ووفقًا لإعدادات spring.security.filter.dispatcher-types و .shouldFilterAllDispatcherTypes(true)، هذا هو نوع FORWARD، لذا يجب تمريره عبر سلسلة المرشح مرة أخرى. يؤدي هذا المرور الثاني عبر المرشح إلى رفض الطلب (مرة أخرى، بفضل hasAuthority("ROLE_ADMIN")).

السلوك الفعلي

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

تنزيل الأداة