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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-44906 — Proof-of-concept لـ CVE-2021-44906 يوضح تلويث النموذج الأولي في minimist عبر تجاوز Function.prototype، مع أمثلة قابلة للتشغيل وتحليل تقني مفصل لسلسلة الاستغلال. | Kitploit
أدوات/GitHubGitHub/nevermoe/cve-2021-44906
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبالتعلم والتعليم
GitHubnevermoe/cve-2021-44906

CVE-2021-44906

Proof-of-concept لـ CVE-2021-44906 يوضح تلويث النموذج الأولي في minimist عبر تجاوز Function.prototype، مع أمثلة قابلة للتشغيل وتحليل تقني مفصل لسلسلة الاستغلال.

عرض المستودع
6منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2021-44906

المصدر الأصلي: https://github.com/Marynk/JavaScript-vulnerability-detection/blob/main/minimist%20PoC.zip

تشغيل

root@kitploit:~
npm run hack

وسترى أن خاصية done لأي دالة قد تغيرت إلى true. شرح سطر الأوامر node index.js --_.concat.constructor.prototype.done true:

  • -- هي علامة الشرطة التي تستخدم عادة في وسائط سطر الأوامر.
  • _ هو المفتاح المدمج في minimist: https://github.com/minimistjs/minimist/blob/v1.2.5/index.js#L37
  • .concat.constructor.prototype.done true ستقوم بتعيين _.concat.constructor.prototype.done إلى .
true

لأن _.concat.constructor من نوع Function، سيتم إضافة خاصية تسمى done إلى نموذج (prototype) جميع الدوال Function.

السبب في أن سلسلة النموذج (prototype chain) بهذا الطول هو أنه في الإصلاحات السابقة، قام المطور بحظر __proto__ و Arrary.prototype و Object.prototype و Number.prototype و String.prototype. لذا كان علينا استخدام constructor الذي يحتوي على خاصية prototype وهو غير مدرج في القائمة السوداء.

مثال آخر:

root@kitploit:~
npm run hack2

ومع ذلك، في المثالين أعلاه، يمكننا فقط العبث بالقيم وليس تعريف الدوال.

السبب

في إصلاح CVE-2020-7598 (1.2.2)، وفي 1.2.3 قام المطور بإصلاح بعض الثغرات عن طريق التحقق من __proto__ و Arrary.prototype و Object.prototype و Number.prototype و String.prototype، لكنهم نسوا التحقق من Function.prototye. ولهذا السبب يمكن لهذا الاستغلال أن يؤثر فقط على خاصية Function.

بالنسبة لإصلاح هذا CVE، قام المطور بالتحقق من Function.prototype وكذلك constructor: https://github.com/minimistjs/minimist/blob/v1.2.6/index.js#L73

تنزيل الأداة