
InQL هي إضافة قوية ومفتوحة المصدر لـ Burp Suite لاختبار GraphQL المتقدم، وتقدم كشفًا بديهيًا للثغرات، ومسحًا قابلًا للتخصيص، وتكاملًا سلسًا مع Burp.
مرحبًا بك في InQL، أداة اختبار GraphQL مفتوحة المصدر. توفر هذه الأداة ميزات مصممة لتعزيز تجربة اختبار GraphQL، مما يجعلها أكثر كفاءة وفعالية.
نقدر ثقتك في InQL. اختبار سعيد!
واجهة مستخدم InQL مجهزة بثلاثة مكونات رئيسية: علامة التبويب الماسح الضوئي، والاستعلامات الدفعية، وبصمة المحرك.

الماسح الضوئي هو جوهر InQL، حيث يمكنك تحليل نقطة نهاية GraphQL أو ملف مخطط استبصار محلي. يقوم بإنشاء جميع الاستعلامات والتحويرات والاشتراكات الممكنة تلقائيًا، وتنظيمها في عرض منظم لتحليلك.
✅ فحوصات قابلة للتخصيص
تقدم InQL مرونة لتخصيص فحوصاتك. اضبط عمق الاستعلامات التي تم إنشاؤها أو عدد المسافات المستخدمة للمسافة البادئة. يمكنك أيضًا إجراء فحوصات 'نقاط الاهتمام' للكشف عن الثغرات المحتملة في مخطط GraphQL.
✅ تحليل نقاط الاهتمام
بعد تشغيل فحص نقاط الاهتمام، يتم تقديم مجموعة بيانات غنية تغطي مجموعة متنوعة من الثغرات المحتملة. يمكنك تمكين أو تعطيل هذه الفئات حسب احتياجاتك.
✅ اكتشاف المراجع الدائرية
يطبق InQL اكتشاف المراجع الدائرية. بعد تحليل المخطط، يعرض الاستعلامات التي قد تكون ضعيفة في عرض نتائج الماسح الضوئي.
✅ تفاعلات محسّنة مع Burp
يتكامل InQL بسلاسة مع Burp، مما يتيح لك إنشاء استعلامات مباشرة من أي طلب GraphQL في Burp. يمكنك أيضًا إرسال الاستعلامات التي تم إنشاؤها تلقائيًا إلى أدوات Burp أخرى لمزيد من التحليل.
✅ رؤوس مخصصة
لديك القدرة على تعيين رؤوس مخصصة لكل نطاق، مع ملء قائمة النطاقات تلقائيًا من حركة المرور المرصودة.
تتيح لك علامة التبويب الاستعلامات الدفعية تشغيل هجمات GraphQL الدفعية، والتي يمكن أن تكون مفيدة لتجاوز حدود المعدل المنفذة بشكل ضعيف.
تأتي محررات الرسائل الأصلية من Burp الآن مع علامة تبويب إضافية 'GraphQL (InQL)'، مما يوفر طريقة فعالة لعرض وتعديل طلبات GraphQL. كما تدعم تمييز المخطط لتحسين القراءة.
يطبق InQL الآن خوادم GraphiQL و GraphQL Voyager. يمكنك إرسال المخطط الذي تم تحليله إليها لتعزيز التحليل بشكل أكبر!
تتيح لك علامة التبويب هذه مسح عنوان URL لـ GraphQL لاسترداد معلومات حول تقنية الخادم الخلفي.
تم تصميم هذا الماسح الضوئي لإعادة إنشاء المخطط عند تعطيل الاستبصار. يعتمد على أداة Clairvoyance CLI، باستخدام مطابقة أنماط التعبير العادي لاكتشاف تفاصيل المخطط.
لتثبيت InQL بنجاح، تأكد من استيفاء المتطلبات التالية:
Burp:
Java:
$ sudo apt install -y openjdk-17-jdk
$ java --version
openjdk 17.0.6 2023-01-17
$ # Mac OS & Homebrew:
$ brew install go-task
$ # Debian
$ sudo apt install -y task
$ git clone https://github.com/doyensec/inql
$ cd inql
$ # اختياريًا، قم بتبديل الفرع إلى dev (قد يكون معطلاً / غير مستقر!)
$ git checkout dev
$ task all
سيؤدي هذا إلى إنتاج ملف باسم InQL.jar أو ما شابه في جذر المستودع. قم بتحميله في Burp كإضافة Java.
بيئة التطوير
إذا كنت ترغب في المساهمة في المشروع، فلا حاجة لبيئة خاصة. يمكنك ببساطة إعادة بناء المشروع في كل مرة تنفذ فيها تغييرًا.
لتسريع العمل على الكود، قد ترغب في إعادة بناء الإضافة تلقائيًا كلما قمت بتغيير. ما عليك سوى تشغيل مهمة kotlin مع العلم --watch / -w وستكون جاهزًا:
$ task kotlin -w
يزدهر InQL بمساهمات المجتمع. سواء كنت مطورًا أو باحثًا أو مصممًا أو صائد أخطاء، فإن خبرتك لا تقدر بثمن بالنسبة لنا. نرحب بتقارير الأخطاء والملاحظات وطلبات السحب. تساعدنا مشاركتك في مواصلة تحسين InQL، مما يجعله أداة أقوى للمجتمع.
من الأفضل إجراء التفاعلات من خلال متتبع المشكلات على Github، ولكن يمكنك أيضًا الوصول إلينا على وسائل التواصل الاجتماعي (@Doyensec). نتطلع إلى الاستماع منك!
شكر خاص لمساهمينا. لقد كان تفانيك والتزامك فعالين في جعل InQL ما هو عليه اليوم.
الحاليون:
السابقون:
تم إنشاء هذا المشروع بدعم من Doyensec.