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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
jquery-cve-2022-31160 — jquery XSS Proof of Concept (PoC) | Kitploit
أدوات/GitHubGitHub/cyberone-teamares/jquery-cve-2022-31160
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityCTFLearning & Education
GitHubcyberone-teamares/jquery-cve-2022-31160

jquery-cve-2022-31160

jquery XSS Proof of Concept (PoC)

الأكثر شعبية

عرض الكل →

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

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

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

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

عرض ثغرة 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 قابل للتنفيذ.

ناقل الهجوم

root@kitploit:~
<!-- 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 على نظامك
  • متصفح ويب يحتوي على أدوات مطور
  • فهم أساسي لمفاهيم أمن الويب

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

root@kitploit:~
# 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

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

root@kitploit:~
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: يصبح المحتوى الضار المُفكوك ترميزه قابلاً للتنفيذ

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

root@kitploit:~
// Vulnerable operation
$('#vulnerable-checkbox').checkboxradio();
$('#vulnerable-checkbox').checkboxradio("refresh"); // Triggers vulnerability

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

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

root@kitploit:~
<!-- 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

بناء الصورة

root@kitploit:~
docker build -t jquery-cve-2022-31160 .

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

root@kitploit:~
# 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

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

root@kitploit:~
# 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. ترميز المخرجات: استخدام ترميز مخرجات مناسب للسياق

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

root@kitploit:~
// Before refresh, sanitize or validate content
function safeRefresh(element) {
    // Validate label content before refresh
    const label = $(`label[for="${element.attr('id')}"]`);
    const content = label.html();
    
    // Check for potentially dangerous content
    if (content.includes('<') || content.includes('javascript:')) {
        console.warn('Potentially dangerous content detected');
        return;
    }
    
    element.checkboxradio("refresh");
}

الترويسات الأمنية

root@kitploit:~
// Express.js security headers
app.use((req, res, next) => {
    res.setHeader('X-Content-Type-Options', 'nosniff');
    res.setHeader('X-Frame-Options', 'DENY');
    res.setHeader('X-XSS-Protection', '1; mode=block');
    res.setHeader('Content-Security-Policy', "default-src 'self'");
    next();
});

📚 القيمة التعليمية

يعمل هذا المشروع كمورد تعليمي لـ:

  • باحثو الأمن: فهم ثغرات التلاعب بـ DOM
  • مطوّرو الويب: التعلّم حول اعتبارات أمان jQuery UI
  • مختبرو الاختراق: تقنيات عملية لاستغلال XSS
  • طلاب الأمن: تحليل عملي للثغرات

🔗 المراجع

  • الإدخال الرسمي لـ CVE-2022-31160
  • النشرة الأمنية لـ jQuery UI
  • الورقة المرجعية للوقاية من XSS من OWASP
  • CWE-79: البرمجة النصية عبر المواقع

📈 قائمة الاختبار

عند استخدام هذا العرض التوضيحي:

إعداد ما قبل الاختبار:

  • تحقق من إصدار jQuery UI (يجب أن يكون 1.13.0)
  • اختبر مع فتح أدوات المطور (F12)
  • افتح الاستبيان على http://localhost:3000/survey
  • تحقق من وحدة التحكم لرسائل التهيئة

اختبار الثغرة:

  • انقر على زر "🔄 تحديث الأدوات"
  • خيار أمان الشبكة: تحقق من تنفيذ التنبيه فوراً
  • خيار أمان الجوال: تحقق من تنفيذ التنبيه فوراً
  • خيار أمان السحابة: مرر المؤشر فوق نص "[مرر المؤشر للتفعيل]"
  • تحقق من وحدة التحكم للتسجيل المفصّل للثغرة

التحقق من التحليل:

  • تحقق من تنفيذ حمولات XSS (3 أنواع مختلفة)
  • اختبر وظيفة إعادة تعيين الأداة
  • تحقق من أن التغذية البصرية لمربع الاختيار تعمل بشكل صحيح

🤝 المساهمة

المساهمات مرحب بها! يرجى:

  1. عمل Fork للمستودع
  2. إنشاء فرع ميزة
  3. إجراء التعديلات
  4. إضافة التوثيق المناسب
  5. تقديم طلب سحب (Pull Request)

مجالات التحسين

  • أمثلة إضافية للحمولات
  • أدوات تحليل أكثر تفصيلاً
  • عروض توضيحية بصرية محسّنة

⚖️ إخلاء المسؤولية القانوني

يتم توفير هذا البرنامج للأغراض التعليمية والبحثية فقط. المؤلفون والمساهمون:

  • غير مسؤولين عن أي إساءة استخدام لهذا البرنامج
  • لا يشجّعون أو يقرّون الأنشطة الخبيثة
  • يوصون باستخدامه فقط في بيئات الاختبار المصرّح بها
  • ينصحون باتباع ممارسات الإفصاح المسؤول

📄 الترخيص

يتم توفير هذا المشروع بموجب رخصة MIT للأغراض التعليمية.


أُنشئ لأغراض البحث والتعليم الأمني | استخدم بمسؤولية | أبلغ عن الثغرات عبر القنوات المناسبة

تنزيل الأداة