
استغلال إثبات المفهوم لـ CVE-2020-11022، ثغرة XSS قائمة على DOM في إصدارات jQuery أقل من 3.5.0. يوضح حقن الحمولة عبر طريقة .html() لتشغيل البرمجة النصية عبر المواقع.
إذن يا جماعة، CVE-2020-11022 هي ثغرة في jQuery تكون في الإصدار الأقل من 3.5.0 أو الأعلى، وطبيعة ثغرة CVE-2020-11022 نفسها هي إطلاق XSS عبر استغلال معالجة DOM مثل (أي .html() و .append() وغيرها) لتنفيذ كود XSS ضار.
التحقق من إصدار jQuery: تأكد من أن الهدف يستخدم إصدار jQuery معرضًا للثغرة. تنطبق هذه الثغرة على jQuery بإصدار أقل من 3.5.0 (الإصدار 3.5.0 وما فوق مصحح بالفعل).
تحديد العنصر المستهدف (تفريغ المعرّفات): اجمع (فرّغ) جميع سمات id الخاصة بعناصر HTML الموجودة في الصفحة. يتم ذلك للبحث عن العناصر التي قد يستخدمها التطبيق كمكان (sink) لمعالجة الإدخال باستخدام طرق معالجة DOM.
اختيار عنصر الاختبار: اختر أحد معرّفات العناصر من نتائج الاستخراج السابقة. على سبيل المثال، لنفترض أن هناك عنصرًا بمعرّف الهدف #error-msg.
تنفيذ الحمولة (Payload): حفّز معالجة DOM بحقن الحمولة في الهدف (sink) (مثال: طريقة .html()).
صيغة الحقن: $('#error-msg').html(payload)
<style><style />