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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/nicholasaleks/crackql
هجمات كلمات المروراستغلال تطبيقات الويباختبار أمان APIالاختبار العشوائياختبار الاختراق
GitHubnicholasaleks/crackql

CrackQL

أداة اختبار اختراق GraphQL تستغل حدود معدل ضعيفة وتحليل التكلفة لفرض كلمات المرور بالقوة، وتجاوز المصادقة الثنائية، وتعداد المستخدمين، وتشويش العمليات عبر استعلامات الأسماء المستعارة المجمعة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CrackQL

CrackQL هي أداة لاختبار اختراق GraphQL تقوم بتخمين كلمات المرور والفحص العشوائي.

CrackQL

CrackQL هي أداة متعددة الاستخدامات لاختبار اختراق GraphQL تستغل ضعف التحكم في معدل الطلب وتحليل التكلفة لتخمين بيانات الاعتماد وفحص العمليات بشكل عشوائي.

جدول المحتويات

  • كيف تعمل
  • حالات الهجوم
    • تجنب الدفاعات
    • هجوم رش كلمات المرور (Password Spraying)
    • تجاوز التحقق بخطوتين (OTP)
    • تعداد حسابات المستخدمين
    • الإشارة المباشرة غير الآمنة للأشياء (IDOR)
    • الفحص العشوائي العام
  • المدخلات
  • التثبيت
  • الإعدادات
  • المساهمون
  • الإشارات

كيف تعمل؟

تعمل CrackQL عن طريق تجميع استعلام أو تحويلة GraphQL واحدة تلقائيًا إلى عدة عمليات باسم مستعار (alias). تحدد عدد الأسماء المستعارة بناءً على متغيرات الإدخال من ملف CSV. بعد إنشاء وثيقة GraphQL المُجمَّعة برمجيًا، تقوم CrackQL بتجميع وإرسال الحمولات إلى واجهة GraphQL المستهدفة وتحليل النتائج والأخطاء.

حالات الهجوم

يمكن استخدام CrackQL لمجموعة واسعة من هجمات GraphQL لأنها تولد الحمولات برمجيًا بناءً على قائمة من المدخلات الديناميكية.

تجنب الدفاعات

على عكس Burp Intruder الذي يرسل طلبًا لكل حمولة فريدة، تتجنب CrackQL دفاعات مراقبة معدل طلب HTTP التقليدية باستخدام استعلامات متعددة بأسماء مستعارة لحشو مجموعات كبيرة من بيانات الاعتماد في طلبات HTTP واحدة. لتجاوز دفاعات تحليل تكلفة الاستعلام، يمكن تحسين CrackQL لاستخدام سلسلة من العمليات المجمعة الأصغر (-b) بالإضافة إلى تأخير زمني (-D).

هجوم رش كلمات المرور (Password Spraying)

تعتبر CrackQL مثالية ضد نشرات GraphQL التي تستخدم عمليات مصادقة GraphQL داخلية (مثل وحدة مصادقة GraphQL). مثال رش كلمات المرور أدناه يعمل ضد DVGA باستخدام قاموس sample-inputs/users-and-passwords.csv.

sample-queries/login.graphql

root@kitploit:~
mutation {
  login(username: {{username|str}}, password: {{password|str}}) {
    accessToken
  }
}

تجاوز التحقق بخطوتين (OTP)

من الممكن استخدام CrackQL لتجاوز التحقق بخطوتين عن طريق إرسال جميع رموز OTP (كلمة المرور لمرة واحدة).

sample-queries/otp-bypass.graphql

root@kitploit:~
mutation {
  twoFactor(otp: {{otp|int}}) {
    accessToken
  }
}

تعداد حسابات المستخدمين

يمكن أيضًا استخدام CrackQL لهجمات التعداد لاكتشاف معرفات المستخدمين الصحيحة وأسماء المستخدمين وعناوين البريد الإلكتروني.

sample-queries/enumeration.graphql

root@kitploit:~
query {
  signup(email: {{email|str}}, password: {{password|str}}) {
    user {
      email
    }
  }
}

الإشارة المباشرة غير الآمنة للأشياء (IDOR)

يمكن استخدام CrackQL للتكرار على عدد كبير من المعرفات الفريدة المحتملة لتسريب معلومات الكائن.

sample-queries/idor.graphql

root@kitploit:~
query {
  profile(uuid: {{uuid|int}}) {
    name
    email
    picture
  }
}

الفحص العشوائي العام

يمكن استخدام CrackQL لعمليات الفحص العشوائي للمدخلات العامة، مثل إرسال حمولات SQLi و XSS المحتملة.

المدخلات

ستقوم CrackQL بتوليد حمولات بناءً على متغيرات الإدخال المحددة بواسطة ملف CSV. تتطلب CrackQL أن يتطابق رأس CSV مع اسم الإدخال.

sample-inputs/usernames_and_passwords.csv

root@kitploit:~
username, password
admin, admin
admin, password
admin, pass
admin, pass123
admin, password123
operator, operator
operator, password
operator, pass
operator, pass123
operator, password123

أنواع الإدخال الصالحة

  • str
  • int
  • float

التثبيت

المتطلبات

  • Python3
  • Requests
  • GraphQL
  • Jinja

استنساخ المستودع

root@kitploit:~
git clone [email protected]:nicholasaleks/CrackQL.git

تثبيت التبعيات

pip install -r requirements.txt

تشغيل CrackQL

python3 CrackQL.py -h

root@kitploit:~
Usage: python3 CrackQL.py -t http://example.com/graphql -q sample-queries/login.graphql -i sample-inputs/usernames_and_passwords.csv

Options:
  -h, --help            show this help message and exit
  -t URL, --target=URL  Target url with a path to the GraphQL endpoint
  -q QUERY, --query=QUERY
                        Input query or mutation operation with variable
                        payload markers
  -i INPUT_CSV, --input-csv=INPUT_CSV
                        Path to a csv list of arguments (i.e. usernames,
                        emails, ids, passwords, otp_tokens, etc.)
  -d DELIMITER, --delimiter=DELIMITER
                        CSV input delimiter (default: ",")
  -o OUTPUT_DIRECTORY, --output-directory=OUTPUT_DIRECTORY
                        Output directory to store results (default:
                        ./results/[domain]_[uuid]/
  -b BATCH_SIZE, --batch-size=BATCH_SIZE
                        Number of batch operations per GraphQL document
                        request (default: 100)
  -D DELAY, --delay=DELAY
                        Time delay in seconds between batch requests (default:
                        0)
  --verbose             Prints out verbose messaging
  -v, --version         Print out the current version and exit.

الإعدادات

استخدم config.py لتعيين ملفات تعريف الارتباط (cookies) أو الرؤوس (headers) أو البروكسيات (proxies) إذا كان الطرف (endpoint) يتطلب توثيقًا.

المساهمون

  • Nick Aleks
  • Dolev Farhi

الإشارات

  • Kitploit
تنزيل الأداة