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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
jquery-cve-2022-31160 — إثبات مفهوم XSS في jQuery (PoC) | Kitploit
أدوات/GitHubGitHub/cyberone-teamares/jquery-cve-2022-31160
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويبCTFالتعلم والتعليم
GitHubcyberone-teamares/jquery-cve-2022-31160

jquery-cve-2022-31160

إثبات مفهوم XSS في jQuery (PoC)

عرض المستودع
10منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

عرض ثغرة jQuery UI CVE-2022-31160

Security Badge jQuery UI CVE Docker

يعرض هذا المشروع ثغرة تحديث أداة Checkboxradio في jQuery UI (CVE-2022-31160)، والتي تسمح بفك ترميز كيانات HTML أثناء عمليات تحديث الأداة، مما قد يؤدي إلى هجمات البرمجة النصية عبر المواقع (XSS).

🚨 تحذير أمني

⚠️ يحتوي هذا المشروع على حمولات XSS فعلية لأغراض تعليمية وبحثية فقط.

  • لا تستخدمه على الأنظمة الإنتاجية
  • استخدمه فقط في بيئات خاضعة للتحكم
  • مخصّص لأبحاث وتعليم الأمن

📋 جدول المحتويات

  • نظرة عامة على الثغرة
  • بدء سريع
  • هيكل المشروع
  • العروض التوضيحية
  • التفاصيل التقنية
  • استخدام Docker
  • التحليل الأمني
  • التخفيف
  • المساهمة

🔍 نظرة عامة على الثغرة

تفاصيل CVE-2022-31160

  • المكوّن: أداة Checkboxradio من jQuery UI
  • الإصدارات المتأثرة: jQuery UI ≤ 1.13.1
  • نوع الثغرة: البرمجة النصية عبر المواقع (XSS) عبر فك ترميز كيانات HTML
  • درجة CVSS: 6.1 (متوسطة)
  • تاريخ النشر الأول: 20 يوليو 2022

السبب الجذري

عند تهيئة أداة checkboxradio على حقل إدخال داخل وسم label، يؤدي استدعاء .checkboxradio("refresh") على الأداة إلى فك ترميز كيانات HTML في محتوى label بشكل خاطئ. يمكن أن يحوّل هذا المحتوى الضار المُرمَّز بأمان إلى كود JavaScript قابل للتنفيذ.

ناقل الهجوم

<!-- Safe encoded content -->
<label for="checkbox">
  Text &lt;img src=x onerror=&quot;alert('XSS')&quot;&gt;
  <input type="checkbox" id="checkbox">
</label>

<!-- After .checkboxradio("refresh") -->
<label for="checkbox">
  Text 
  <input type="checkbox" id="checkbox">
</label>

🚀 بدء سريع

المتطلبات الأساسية

  • تثبيت Docker على نظامك
  • متصفح ويب يحتوي على أدوات مطور
  • فهم أساسي لمفاهيم أمن الويب

البناء والتشغيل

# Clone or navigate to the project directory
cd jquery-cve-2022-31160

# Build the Docker image
docker build -t jquery-cve-2022-31160 .

# Run the container
docker run -p 3000:3000 jquery-cve-2022-31160

الوصول إلى العروض التوضيحية

بمجرد تشغيل الحاوية، يمكنك الوصول إلى:

  • العرض التوضيحي المبسّط للاستبيان: http://localhost:3000/survey
  • رابط الاستبيان البديل: http://localhost:3000/simplified-survey

📁 هيكل المشروع

jquery-cve-2022-31160/
├── README.md                    # This documentation
├── Dockerfile                   # Docker container configuration
├── package.json                 # Node.js dependencies
├── server.js                    # Express.js server
└── simplified-survey.html       # Survey-style demonstration

🎯 العروض التوضيحية

1. العرض التوضيحي المبسّط للاستبيان (simplified-survey.html)

الرابط: http://localhost:3000/survey

  • واجهة بأسلوب الاستبيان
  • سيناريوهات متعددة للثغرة
  • تغذية بصرية محسّنة

الميزات:

  • 4 خيارات مختلفة لمربعات الاختيار تعرض سيناريوهات متنوعة:
    • الخيار الآمن: لا يحتوي على كيانات مُرمَّزة (مجموعة التحكم)
    • ثغرة XSS في أمان الشبكة: &lt;img src=x onerror=&quot;...&quot;&gt; - تنفيذ فوري
    • ثغرة XSS في أمان الجوال: &lt;details ontoggle=&quot;...&quot; open&gt; - تنفيذ فوري
    • ثغرة XSS في أمان السحابة: &lt;span onmouseover=&quot;...&quot;&gt; - تنفيذ تفاعلي

أدوات التحليل:

  • تسجيل مفصّل في وحدة التحكم
  • تنبيهات تنفيذ XSS
  • تتبع الثغرة خطوة بخطوة

🔧 التفاصيل التقنية

آلية الثغرة

  1. تهيئة الأداة: يقوم jQuery UI بإنشاء أداة checkboxradio
  2. تخزين كيانات HTML: تتم معالجة محتوى label الذي يحتوي على كيانات مُرمَّزة
  3. تشغيل التحديث: يتم استدعاء .checkboxradio("refresh")
  4. فك ترميز الكيانات: يقوم jQuery UI بفك ترميز كيانات HTML بشكل خاطئ
  5. تنفيذ XSS: يصبح المحتوى الضار المُفكوك ترميزه قابلاً للتنفيذ

مسار الكود المتأثر

// Vulnerable operation
$('#vulnerable-checkbox').checkboxradio();
$('#vulnerable-checkbox').checkboxradio("refresh"); // Triggers vulnerability

حمولات الاختبار

تتضمن العروض التوضيحية حمولات متنوعة لاختبار طرق تنفيذ XSS المختلفة:

<!-- Network Security: Error event XSS (Immediate execution) -->
&lt;img src=x onerror=&quot;console.log('XSS via widget refresh!'); alert('Widget refresh XSS executed!');&quot;&gt;

<!-- Mobile Security: Details toggle XSS (Immediate execution) -->
&lt;details ontoggle=&quot;alert('Mobile Security XSS executed!'); console.log('Mobile XSS via details ontoggle!')&quot; open&gt;&lt;summary&gt;&lt;/summary&gt;&lt;/details&gt;

<!-- Cloud Security: Interactive XSS (User interaction required) -->
&lt;span onmouseover=&quot;alert('Hover XSS executed!'); console.log('Cloud Security XSS via mouseover!')&quot; style=&quot;text-decoration:underline; cursor:pointer;&quot;&gt;[Hover to trigger]&lt;/span&gt;

طرق تنفيذ XSS

1. معالج حدث الخطأ (onerror)

  • التشغيل: فوري عند إدراج العنصر في DOM
  • الموثوقية: عالية جداً (يفشل دائماً مع src=x)
  • حالة الاستخدام: يعرض تنفيذ XSS فورياً
  • الخطر في العالم الحقيقي: مرتفع - يتحايل عادةً على عوامل تصفية الإدخال

2. معالج حدث تبديل details (ontoggle)

  • التشغيل: عند تغيّر حالة فتح/إغلاق عنصر details
  • الموثوقية: عالية جداً (تشغيل مضمون مع خاصية open)
  • حالة الاستخدام: تنفيذ فوري عند إدراج DOM
  • الخطر في العالم الحقيقي: مرتفع - تنفيذ موثوق عبر المتصفحات

3. معالج حدث الماوس (onmouseover)

  • التشغيل: يتطلب تفاعل المستخدم (تمرير المؤشر)
  • الموثوقية: عالية عند تفاعل المستخدم
  • حالة الاستخدام: سيناريوهات الهندسة الاجتماعية
  • الخطر في العالم الحقيقي: متوسط - يتطلب تفاعل المستخدم

لماذا تعمل هذه الحمولات

مزايا معالجات الأحداث:

  • تُنفَّذ عند إدراج العنصر عبر innerHTML
  • تتحايل على قيود وسم <script>
  • تعمل بشكل ثابت عبر المتصفحات المختلفة
  • لا تتطلب تحميل موارد خارجية
  • المشغّلات المعتمدة على الحالة (مثل ontoggle) موثوقة للغاية

التحايل على الترميز:

  • يتم فك ترميز كيانات HTML (&lt;, &quot;) بواسطة تحديث jQuery UI
  • يحوّل المحتوى المُرمَّز الآمن إلى كود قابل للتنفيذ
  • يعرض تحايلاً حقيقياً على عمليات التنقية
  • نواقل التنفيذ المتعددة تُظهر تنوع سطح الهجوم

🐳 استخدام Docker

بناء الصورة

docker build -t jquery-cve-2022-31160 .

تشغيل الحاوية

# Run on default port 3000
docker run -p 3000:3000 jquery-cve-2022-31160

# Run on custom port
docker run -p 8080:3000 jquery-cve-2022-31160

# Run in background
docker run -d -p 3000:3000 jquery-cve-2022-31160

# Run with custom name
docker run --name jquery-xss-demo -p 3000:3000 jquery-cve-2022-31160

إدارة الحاوية

# List running containers
docker ps

# Stop the container
docker stop jquery-cve-2022-31160

# Remove the container
docker rm jquery-cve-2022-31160

# Remove the image
docker rmi jquery-cve-2022-31160

🔬 التحليل الأمني

تقييم الأثر

  • الخطورة: متوسطة (CVSS 6.1)
  • تعقيد الهجوم: منخفض
  • تفاعل المستخدم: مطلوب (تفاعل مع الصفحة)
  • النطاق: دون تغيير (نفس الأصل)
  • السرية: تأثير منخفض
  • السلامة: تأثير منخفض
  • التوافر: لا يوجد

السيناريوهات في العالم الحقيقي

يمكن استغلال هذه الثغرة في التطبيقات التي:

  1. تستخدم أدوات checkboxradio من jQuery UI
  2. تسمح بمحتوى من إنشاء المستخدم في labels
  3. تنظّف المحتوى باستخدام ترميز كيانات HTML
  4. تحدّث الأدوات برمجياً

طرق الكشف

  • التحليل الثابت: البحث عن استدعاءات .checkboxradio("refresh")
  • التحليل الديناميكي: مراقبة تغيّرات محتوى HTML أثناء عمليات الأداة
  • المسح الآلي: استخدام أدوات يمكنها كشف XSS المستندة إلى DOM
  • الاختبار اليدوي: اختبار تحديث الأداة بحمولات مُرمَّزة

🛡️ التخفيف

إجراءات فورية

  1. تحديث jQuery UI: الترقية إلى الإصدار 1.13.2 أو أحدث
  2. التحقق من الإدخال: تنفيذ تحقق مناسب من جهة الخادم
  3. سياسة أمان المحتوى: نشر ترويسات CSP تقييدية
  4. ترميز المخرجات: استخدام ترميز مخرجات مناسب للسياق

إصلاحات الكود

تنزيل الأداة