
ماسح XSS آلي واستغلال إثبات المفهوم لـ CVE-2026-50229 في أمثلة Apache Tomcat. يكتشف ويستغل البرمجة النصية عبر المواقع المنعكسة عبر معلمات JSP غير المهربة.
🔴 ماسح ومستغل متقدم لثغرة البرمجة النصية عبر المواقع (XSS) في تطبيق أمثلة Apache Tomcat على الويب
CVE-2026-50229 هو ثغرة من نوع البرمجة النصية عبر المواقع (XSS) تم اكتشافها في تطبيق الويب للأمثلة المرفق مع Apache Tomcat. يكمن الخلل في صفحة العرض numguess.jsp داخل webapps/examples/jsp/num/، حيث تُعكس معاملات طلبات HTTP غير المفلترة إلى متصفح الضحية دون تنقية أو تهريب (escaping) مناسب.
يحتوي هذا المستودع على ماسح ضوئي احترافي لإثبات المفهوم (PoC) مكتوب بلغة Python يقوم تلقائيًا باكتشاف هذه الثغرة واستغلالها وتوثيقها عبر إصدارات متعددة من Tomcat.
⚠️ تحذير: هذه الأداة مخصصة لأغراض تعليمية ولاختبارات الاختراق المصرّح بها فقط. قد يؤدي سوء الاستخدام إلى مخالفة القوانين المعمول بها. احرص دائمًا على الحصول على إذن صريح قبل الاختبار.
| الحقل | القيمة |
|---|---|
| معرّف CVE | CVE-2026-50229 |
| CWE | CWE-79 (التحييد غير السليم للمدخلات أثناء توليد صفحة الويب) |
| درجة CVSS | 3.1 (منخفضة) |
| متجه الهجوم | الشبكة |
| تعقيد الهجوم | منخفض |
| الصلاحيات المطلوبة | لا شيء |
| تفاعل المستخدم | مطلوب |
| النطاق | متغيّر |
| السرية | منخفضة |
| التكامل | منخفض |
| التوفر | لا شيء |
ينبع أصل الثغرة من تعيين الخصائص باستخدام أحرف البدل (wildcard) في صفحة JSP:
<jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/>
<jsp:setProperty name="numguess" property="*"/>
---
تقوم الخاصية property="*" بتعيين جميع معاملات الطلب إلى خصائص الـ bean، بما في ذلك حقل التلميح الذي يُعاد عرضه لاحقًا دون تهريب:
Good guess, but nope. Try <b><%= numguess.getHint() %></b>.