
قم بتحليل مستندات OpenAPI إلى Burp Suite لأتمتة تقييمات أمان واجهات برمجة التطبيقات المعتمدة على OpenAPI (معتمد من PortSwigger لإدراجه في متجر BApp الرسمي).
[!UPDATE] تم تحديث هذا الامتداد لاستخدام أحدث Burp Montoya Java API. خضع الامتداد لإعادة بناء كاملة لتحسين كل من
UI/UXوالأداء. تضمن هذه التغييرات أن الامتداد حديث ومحسّن للاستخدام.
Burp Suite مصمم لاختبار API القائم على OpenAPIتحدد مواصفات
OpenAPI(OAS) وصف واجهة قياسيًا ومستقلًا عن لغة البرمجة لواجهاتRESTAPI، مما يسمح لكل من البشر والحواسيب باكتشاف وفهم قدرات الخدمة دون الحاجة إلى الوصول إلى الكود المصدري أو الوثائق الإضافية أو فحص حركة مرور الشبكة. عند تعريفها بشكل صحيح عبرOpenAPI، يمكن للمستهلك فهم والتفاعل مع الخدمة البعيدة بأقل قدر من منطق التنفيذ. على غرار ما فعلته أوصاف الواجهة للبرمجة منخفضة المستوى، تزيل مواصفاتOpenAPIالتخمين عند استدعاء الخدمة.تتضمن حالات استخدام مستندات تعريف
APIالقابلة للقراءة آليًا، على سبيل المثال لا الحصر: الوثائق التفاعلية؛ إنشاء الكود للوثائق والعملاء والخوادم؛ وأتمتة حالات الاختبار. تصف مستنداتOpenAPIخدماتAPIويتم تمثيلها إما بصيغةYAMLأوJSON. يمكن إنتاج هذه المستندات وتقديمها بشكل ثابت أو إنشاؤها ديناميكيًا من تطبيق.
قد يكون إجراء تقييم أمني لواجهات API القائمة على OpenAPI مهمة شاقة بسبب افتقار Burp Suite (معيار الصناعة) إلى إمكانيات تحليل OpenAPI الأصلية. أحد الحلول لهذه الحالة هو استخدام أدوات تابعة لجهات خارجية (مثل SOAP-UI) أو تنفيذ نصوص برمجية مخصصة (غالبًا لكل مهمة على حدة) للتعامل مع تحليل مستندات OpenAPI ودمج/ربط النتائج مع Burp Suite لاستخدام قدرات المسح من الدرجة الأولى.
openapi-parser هو محلل OpenAPI يهدف إلى تبسيط هذه العملية برمتها من خلال السماح لمتخصصي الأمن باستخدام Burp Suite كأداة مستقلة لتقييم أمن واجهات API القائمة على OpenAPI.
OpenAPI إما من ملف مزود أو رابط URL. يمكن للامتداد جلب مستندات OpenAPI مباشرة من رابط URL باستخدام ميزة إرسال إلى Swagger Parser ضمن قائمة السياق Target -> Site map.OpenAPI، المعروفة سابقًا باسم Swagger specification، متوافقة تمامًا مع مواصفات OpenAPI 2.0/3.0 (OAS).Comparer و Intruder و Organizer و Repeater و Scanner و Site map و .نظام التشغيل: متوافق مع أنظمة التشغيل Linux و macOS و Windows.
Java Development Kit (JDK): الإصدار 11 أو أحدث.
Burp Suite Professional أو Community Edition: الإصدار 2023.11.1.3 أو أحدث.
[!IMPORTANT] يرجى ملاحظة أن استخدام أي إصدار أقل من
2023.3.2قد يؤدي إلى java.lang.NoSuchMethodError. من الضروري استخدام الإصدار المحدد أو إصدار أحدث لتجنب هذه المشكلة.
الإصدار 8.5 أو أحدث (موصى به). ملف build.gradle موجود في مستودع المشروع.JAVA_HOME للإشارة إلى دليل تثبيت JDK.يرجى التأكد من استيفاء جميع متطلبات النظام، بما في ذلك إصدار متوافق من Burp Suite، قبل بناء وتشغيل المشروع. لاحظ أن التبعيات الخارجية للمشروع سيتم إدارتها وتثبيتها تلقائيًا بواسطة Gradle أثناء عملية البناء. سيؤدي الالتزام بالمتطلبات إلى تجنب المشكلات المحتملة وتقليل الحاجة إلى فتح مشكلات جديدة في مستودع المشروع.
تأكد من تثبيت Gradle وتكوينه.
قم بتنزيل مستودع openapi-parser:
git clone https://github.com/aress31/openapi-parser
cd .\openapi-parser\
قم ببناء ملف jar المستقل:
./gradlew fatJar
Burp Suiteلتثبيت openapi-parser في Burp Suite، انتقل أولاً إلى علامة التبويب Extensions وانقر على زر Add. ثم حدد ملف openapi-parser-all jar الموجود في مجلد .\build\libs لتحميل الامتداد.
بدلاً من ذلك، يمكنك تخطي خطوة التجميع بالكامل وتنزيل الامتداد مباشرة من BApp Store.
ملاحظة: قد يكون الإصدار الموزع على BApp Store متأخراً عن الإصدار المتاح في هذا المستودع.
OpenAPI لجمع جميع المعلمات المتداخلة مع مثالها/نوعها.MyHttpRequest بدلاً من RequestWithMetadata.API مباشرة من GUI.API المقدمة من المستخدم).انظر TODO للمهام الإضافية المعلقة.
في يوليو 2016، بعد نشر طلب تحسين على منتدى دعم PortSwigger، قررت أخذ المبادرة وتنفيذ الحل بنفسي.
الامتداد لا يزال قيد التطوير، وبالتالي فإن التعليقات والملاحظات والمساهمات موضع تقدير كبير.
إذا كان هذا الامتداد قد وفر لك الوقت والجهد أثناء التقييم الأمني، فكر في إظهار بعض الحب برعاية فنجان قهوة ☕ للمطور. إنه الوقود الذي يغذي التطوير، بعد كل شيء. فقط اضغط على زر Sponsor في أعلى الصفحة أو انقر هنا للمساهمة والحفاظ على تدفق الكافيين. 💸
هل وجدت خطأ؟ حسناً، لا تدعه يتجول! دعنا نسحقه معاً كصيادي الأخطاء! 🐛💪
يرجى الإبلاغ عن أي مشكلات على متعقب المشكلات في GitHub. معًا، سنجعل هذا الامتداد موثوقًا مثل صرصور ينجو من كارثة نووية! 🚀
هل تتطلع إلى إحداث تأثير بمهاراتك البرمجية الرائعة؟ 💻
رائع! المساهمات مرحب بها ومقدرة للغاية. يرجى إرسال جميع طلبات السحب على متعقب طلبات السحب في GitHub. معًا يمكننا جعل هذا الامتداد أكثر روعة! 🚀
انظر LICENSE.
ScopeOpenAPI Parser)' في محرر رسائل Burp.API "المثيرة للاهتمام" و/أو ترميزها بالألوان لأغراض إعداد التقارير.CSV، مما يسمح للمستخدمين بتصدير طلبات API المحددة بسهولة بتنسيق CSV لمزيد من التحليل أو إعداد التقارير.JSON و YAML.Paraminqueryinbody