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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
graphql-cop — أداة Python خفيفة للتدقيق الأمني الآلي لواجهات برمجة تطبيقات GraphQL. تكتشف أخطاء التهيئة، تسريبات المعلومات، وثغرات رفض الخدمة مع أوامر إعادة إنتاج cURL. | Kitploit
أدوات/GitHubGitHub/dolevf/graphql-cop
ماسحات الثغرات الأمنيةاختبار أمان APIأمن الويباختبار الاختراق
GitHubdolevf/graphql-cop

graphql-cop

أداة Python خفيفة للتدقيق الأمني الآلي لواجهات برمجة تطبيقات GraphQL. تكتشف أخطاء التهيئة، تسريبات المعلومات، وثغرات رفض الخدمة مع أوامر إعادة إنتاج cURL.

عرض المستودع
684101منذ 9 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

GraphQL Cop - أداة تدقيق أمني لـ GraphQL

GraphQL Cop

حول

GraphQL Cop هي أداة بايثون صغيرة لتشغيل اختبارات أمنية شائعة ضد واجهات برمجة تطبيقات GraphQL. GraphQL Cop مثالية لتشغيل فحوصات CI/CD في GraphQL. إنها خفيفة الوزن، وتغطي قضايا أمنية مثيرة للاهتمام في GraphQL.

تتيح لك GraphQL Cop إعادة إنتاج النتائج من خلال توفير أوامر cURL عند أي ثغرات تم تحديدها.

المتطلبات

  • Python3
  • Requests Library

الاكتشافات

  • Alias Overloading (DoS)
  • Batch Queries (DoS)
  • GET based Queries (CSRF)
  • POST based Queries using urlencoded payloads (CSRF)
  • GraphQL Tracing / Debug Modes (Info Leak)
  • Field Duplication (DoS)
  • Field Suggestions (Info Leak)
  • GraphiQL (Info Leak)
  • Introspection (Info Leak)
  • Directives Overloading (DoS)
  • Circular Query using Introspection (DoS)
  • Mutation support over GET methods (CSRF)

التثبيت

ينبغي تنفيذ الأوامر أدناه لتثبيت التبعيات.

root@kitploit:~
python3 -m venv path/to/venv
source path/to/venv/bin/activate
python3 -m pip install -r requirements.txt

الأمر الأول ينشئ بيئة افتراضية في المسار المحدد بواسطة path/to/venv. الأمر الثاني ينشط البيئة الافتراضية. الأمر الأخير يقوم بتثبيت جميع حزم بايثون المدرجة في الـ requirements.txt.

الاستخدام

root@kitploit:~
$ python3 graphql-cop.py -h
Usage: graphql-cop.py -t http://example.com -o json

Options:
  -h, --help            show this help message and exit
  -t URL, --target=URL  target url with the path - if a GraphQL path is not
                        provided, GraphQL Cop will iterate through a series of
                        common GraphQL paths
  -H HEADER, --header=HEADER
                        Append Header(s) to the request '{"Authorization":
                        "Bearer eyjt"}' - Use multiple -H for additional
                        Headers
  -o FORMAT, --output=FORMAT
                        json
  -e EXCLUDED_TESTS, --excluded-tests=EXCLUDED_TESTS
                        Exclude specific tests
  -l, --list-tests      List available tests
  -f, --force           Forces a scan when GraphQL cannot be detected
  -d, --debug           Append a header with the test name for debugging
  -x PROXY, --proxy=PROXY
                        HTTP(S) proxy URL in the form
                        http://user:pass@host:port
  -w WORDLIST, --wordlist=WORDLIST
                        Path to a list of custom GraphQL endpoints
  -v, --version         Print out the current version and exit.
  -T, --tor             Sends the request through the Tor network (ensure Tor
                        is running and properly configured)

اختبار موقع ويب

root@kitploit:~
$ python3 graphql-cop.py -t https://mywebsite.com/graphql

[HIGH] Introspection Query Enabled (Information Leakage)
[LOW] GraphQL Playground UI (Information Leakage)
[HIGH] Alias Overloading with 100+ aliases is allowed (Denial of Service)
[HIGH] Queries are allowed with 1000+ of the same repeated field (Denial of Service)

استبعاد اختبار معين

root@kitploit:~
$ python3 graphql-cop.py -t https://mywebsite.com/graphql -e field_duplication

[HIGH] Introspection Query Enabled (Information Leakage)
[LOW] GraphQL Playground UI (Information Leakage)
[HIGH] Alias Overloading with 100+ aliases is allowed (Denial of Service)
[HIGH] Queries are allowed with 1000+ of the same repeated field (Denial of Service)

اختبار موقع ويب، إخراج JSON قابل للتحليل، أمر إعادة إنتاج cURL

root@kitploit:~
python3 graphql-cop.py -t https://mywebsite.com/graphql -o json

 {'curl_verify': 'curl -X POST -H "User-Agent: graphql-cop/1.2" -H '
                 '"Accept-Encoding: gzip, deflate" -H "Accept: */*" -H '
                 '"Connection: keep-alive" -H "Content-Length: 33" -H '
                 '"Content-Type: application/json" -d \'{"query": "query { '
                 '__typename }"}\' \'http://localhost:5013/graphql\'',
  'description': 'Tracing is Enabled',
  'impact': 'Information Leakage',
  'result': False,
  'severity': 'INFO',
  'color': 'green',
  'title': 'Trace Mode'},
 {'curl_verify': 'curl -X POST -H "User-Agent: graphql-cop/1.2" -H '
                 '"Accept-Encoding: gzip, deflate" -H "Accept: */*" -H '
                 '"Connection: keep-alive" -H "Content-Length: 64" -H '
                 '"Content-Type: application/json" -d \'{"query": "query { '
                 '__typename @aa@aa@aa@aa@aa@aa@aa@aa@aa@aa }"}\' '
                 "'http://localhost:5013/graphql'",
  'description': 'Multiple duplicated directives allowed in a query',
  'impact': 'Denial of Service',
  'result': True,
  'severity': 'HIGH',
  'color': 'red',
  'title': 'Directive Overloading'}]

اختبار موقع ويب عبر بروكسي (مثل Burp Suite على 127.0.0.1:8080) مع رؤوس مخصصة (مثل Authorization):

root@kitploit:~
$ python3 graphql-cop.py -t https://mywebsite.com/graphql --proxy=http://127.0.0.1:8080 --header '{"Authorization": "Bearer token_here"}'

[HIGH] Introspection Query Enabled (Information Leakage)
[LOW] GraphQL Playground UI (Information Leakage)
[HIGH] Alias Overloading with 100+ aliases is allowed (Denial of Service)
[HIGH] Queries are allowed with 1000+ of the same repeated field (Denial of Service)

إعداد واستخدام دوكر

المتطلبات الأساسية

  • Docker مثبت على جهازك.

بناء صورة دوكر

  1. استنساخ المستودع:
root@kitploit:~
git clone https://github.com/dolevf/graphql-cop.git
cd graphql-cop
  1. بناء صورة دوكر:
root@kitploit:~
docker build -t graphql-cop:latest .

تشغيل حاوية دوكر

يمكنك تشغيل حاوية دوكر وتمرير الوسائط إلى سكربت graphql-cop كما يلي:

root@kitploit:~
docker run --rm -it graphql-cop:latest -t <GRAPHQL_ENDPOINT> -H '{"<HEADER_KEY>": "<HEADER_VALUE>"}'

مثال

إليك مثال على تشغيل الحاوية:

root@kitploit:~
docker run --rm -it graphql-cop:latest -t https://example.com/graphql -H '{"Authorization": "Bearer abc123xyz"}'

ملاحظة

للحصول على قائمة بجميع الخيارات المتاحة، قم بتشغيل:

root@kitploit:~
docker run --rm -it graphql-cop:latest --help

استكشاف الأخطاء وإصلاحها

  1. خطأ في عدم العثور على الملف: إذا لم تتمكن الحاوية من العثور على السكربت لتنفيذه، تأكد من سلامة هيكل المستودع وأن ملف Dockerfile قد تم إعداده بشكل صحيح.
  2. مشكلة التبعيات: إذا كانت هناك تبعيات مفقودة، تحقق من اكتمال ملف requirements.txt.
تنزيل الأداة