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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
restler-fuzzer — RESTler هي أول أداة تشويب لواجهات برمجة تطبيقات REST ذات الحالة لاختبار الخدمات السحابية تلقائيًا عبر واجهات REST API الخاصة بها واكتشاف الثغرات الأمنية وأخطاء الموثوقية في هذه الخدمات. | Kitploit
أدوات/GitHubGitHub/microsoft/restler-fuzzer
ماسحات الثغرات الأمنيةاختبار أمان APIأمن الويبالاختبار العشوائيأمن السحابة
GitHubmicrosoft/restler-fuzzer

restler-fuzzer

RESTler هي أول أداة تشويب لواجهات برمجة تطبيقات REST ذات الحالة لاختبار الخدمات السحابية تلقائيًا عبر واجهات REST API الخاصة بها واكتشاف الثغرات الأمنية وأخطاء الموثوقية في هذه الخدمات.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

RESTler

ما هو RESTler؟

RESTler هي أداة اختبار اختراق (fuzzing) لحالات API RESTful الحالة الأولى لاختبار الخدمات السحابية تلقائيًا عبر واجهات REST API الخاصة بها، واكتشاف أخطاء الأمان والموثوقية في هذه الخدمات. بالنسبة لخدمة سحابية معينة تحتوي على مواصفات OpenAPI (المعروفة سابقًا باسم Swagger)، يقوم RESTler بتحليل مواصفاتها بالكامل، ثم ينشئ وينفذ اختبارات تُمرر من خلال واجهة REST API الخاصة بالخدمة.

يستنتج RESTler بذكاء التبعيات بين المنتج والمستهلك بين أنواع الطلبات من تعريف OpenAPI. أثناء الاختبار، يتحقق من فئات محددة من الأخطاء ويتعلم ديناميكيًا كيفية تصرف الخدمة من الاستجابات السابقة للخدمة. يسمح هذا الذكاء لـ RESTler باستكشاف حالات خدمة أعمق لا يمكن الوصول إليها إلا من خلال تسلسلات طلبات محددة، والعثور على المزيد من الأخطاء.

تم وصف RESTler في هذه الأوراق البحثية التي خضعت لمراجعة الأقران:

  1. RESTler: Stateful REST API Fuzzing (ICSE'2019)
  2. Checking Security Properties of Cloud Service REST APIs (ICST'2020)
  3. Differential Regression Testing for REST APIs​ (ISSTA'2020)
  4. Intelligent REST API Data Fuzzing​​ (FSE'2020)

إذا كنت تستخدم RESTler في بحثك، يرجى الاستشهاد بورقة ICSE'2019 (الافتراضية) (BibTeX).

يتضمن RESTler استراتيجيات متعددة لتوليد الاختبارات. من أجل الحصول على رؤية مقارنة شاملة فيما يتعلق بـ (i) الكفاءة (أي مدى سرعة العثور على الأعطال بواسطة RESTler) و (ii) الفعالية (أي عدد الأعطال التي يمكن لـ RESTler العثور عليها في إطار زمني معين)، نوصي بالمقارنة مع جميع fuzzing_mode(s) الموثقة لأن كل منها يوفر مقايضة مختلفة بين اتساع وعمق استكشاف مساحة الحالة. نوصي أيضًا بتشغيل وضع test قبل أي اختبار fuzzing، كما هو موضح أدناه، لاكتشاف وإصلاح مشكلات الإعداد (مثل إضافة قيم المعلمات المطلوبة مسبقًا إلى القاموس) قبل fuzzing.

تم إنشاء RESTler في Microsoft Research ولا يزال قيد التطوير النشط.

للحصول على نظرة عامة وعرض توضيحي حول كيفية البدء، راجع Webinar - Fuzzing to Improve the Security and Reliability of Cloud Services.

RESTler architecture

حالة البناء

Build Status

إعداد RESTler

تم تصميم RESTler للعمل على أجهزة 64 بت مع Windows أو Linux. الدعم التجريبي لـ macOS متاح أيضًا.

تعليمات البناء

Docker

في جذر هذا المستودع، قم بتشغيل

root@kitploit:~
docker build -t restler .

ستتوفر أداة RESTler في الحاوية الناتجة في الدليل /RESTler/restler مع الملف الثنائي الرئيسي Restler. يمكنك بعد ذلك استخدام صورة Docker هذه كأساس لإضافة التطبيق قيد الاختبار لتنفيذ fuzzing داخل حاويات Docker منفصلة.

محليًا

المتطلبات الأساسية: قم بتثبيت Python 3.12.8 و .NET 8.0، وفقًا لنظام التشغيل المناسب لك.

أنشئ دليلًا حيث ترغب في وضع ملفات RESTler الثنائية:

mkdir restler_bin

انتقل إلى الدليل الجذر للمستودع وقم بتشغيل سكربت Python التالي:

python ./build-restler.py --dest_dir <المسار الكامل إلى restler_bin أعلاه>

ملاحظة: إذا تلقيت خطأ nuget NU1403 أثناء البناء، فإن الحل السريع هو مسح ذاكرة التخزين المؤقت الخاصة بك باستخدام الأمر التالي

dotnet nuget locals all --clear

استخدام RESTler

يعمل RESTler في 4 أوضاع رئيسية (بالترتيب):

  1. تجميع (Compile): من تعريف OpenAPI بتنسيق JSON أو YAML (واختياريًا أمثلة)، قم بتوليد قواعد RESTler. راجع Compiling.
  2. اختبار (Test): قم بتنفيذ جميع نقاط النهاية + الطرق بسرعة في قواعد RESTler المجمعة لتصحيح اختبار الإعداد وحساب أجزاء تعريف OpenAPI التي تم تغطيتها. يُسمى هذا الوضع أيضًا smoketest. راجع Testing. لاستخدام إعدادات محرك اختبار مخصصة، راجع Test Engine Settings.
  3. Fuzz-lean: قم بتنفيذ كل نقطة نهاية + طريقة مرة واحدة في قواعد RESTler المجمعة مع مجموعة افتراضية من المدققات لمعرفة ما إذا كان يمكن العثور على الأخطاء بسرعة. راجع Fuzzing.
  4. Fuzz: صيد الأخطاء - استكشف قواعد fuzzing الخاصة بـ RESTler في وضع البحث الذكي بالاتساع أولاً (وضع البحث الأعمق) للعثور على المزيد من الأخطاء. تحذير: هذا النوع من fuzzing أكثر عدوانية وقد يتسبب في انقطاع الخدمة قيد الاختبار إذا كانت الخدمة ضعيفة التنفيذ (على سبيل المثال، قد يؤدي fuzzing إلى تسرب الموارد، تدهور الأداء، تلف الواجهة الخلفية، إلخ). راجع Fuzzing.

بداية سريعة

للحصول على مقدمة سريعة مع أمثلة بسيطة، راجع هذا البرنامج التعليمي.

لتجربة RESTler بسرعة على واجهة API الخاصة بك، راجع Quick Start.

الأخطاء التي وجدها RESTler

يوجد حاليًا فئتان من الأخطاء التي وجدها RESTler.

  • رمز الخطأ: حاليًا، في أي وقت يتم استلام استجابة برمز الحالة 500 ("خطأ داخلي في الخادم")، يتم الإبلاغ عن خطأ.
  • المدققات (Checkers): يحاول كل مدقق تشغيل أخطاء محددة عن طريق تنفيذ طلبات إضافية مستهدفة أو تسلسلات من الطلبات في نقاط معينة أثناء fuzzing، يتم تحديدها حسب السياق. تحاول بعض المدققات العثور على 500s إضافية، بينما تحاول مدققات أخرى العثور على أخطاء منطقية محددة مثل تسرب الموارد أو انتهاكات التسلسل الهرمي. للحصول على وصف كامل للمدققات، راجع Checkers.

عند العثور على خطأ، يبلغ RESTler عن الأخطاء التي تم فرزها في مجموعات، ويوفر سجل إعادة تشغيل يمكن استخدامه لإعادة إنتاج الخطأ (راجع Replay).

مواضيع متقدمة

للحصول على نصائح حول استخدام RESTler بفعالية، يرجى الاطلاع على Best Practices و Improving API Coverage.

راجع أيضًا الأسئلة الشائعة.

إذا كنت مهتمًا باستخدام RESTler على نطاق واسع كجزء من خط أنابيب CI/CD الخاص بك، فراجع خدمة REST API Fuzz Testing المستضافة ذاتيًا.

أسئلة

إذا كان لديك طلب/اقتراح/سؤال، يرجى إنشاء مشكلة (issue). راجع Contributing.md للحصول على التعليمات.

المساهمة

نرحب بالمساهمات والاقتراحات. تتطلب معظم المساهمات منك الموافقة على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق، وأنك بالفعل تمنحنا الحق في استخدام مساهمتك. للحصول على التفاصيل، قم بزيارة https://cla.microsoft.com.

عند تقديم طلب سحب (pull request)، سيقوم روبوت CLA تلقائيًا بتحديد ما إذا كنت بحاجة إلى تقديم CLA وتزيين PR بشكل مناسب (مثل التسمية، التعليق). ما عليك سوى اتباع التعليمات المقدمة من الروبوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع المستودعات التي تستخدم CLA الخاص بنا.

اعتمد هذا المشروع مدونة قواعد السلوك مفتوحة المصدر من Microsoft. لمزيد من المعلومات، راجع الأسئلة الشائعة حول مدونة قواعد السلوك أو اتصل بـ [email protected] مع أي أسئلة أو تعليقات إضافية.

لمزيد من المعلومات، راجع Contributing.md.

العلامات التجارية

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

جمع البيانات

قد يقوم البرنامج بجمع معلومات عنك وعن استخدامك للبرنامج وإرسالها إلى Microsoft. قد تستخدم Microsoft هذه المعلومات لتقديم الخدمات وتحسين منتجاتنا وخدماتنا. يمكنك إيقاف تشغيل القياس عن بُعد كما هو موصوف في المستودع. هناك أيضًا بعض الميزات في البرنامج التي قد تمكنك وMicrosoft من جمع البيانات من مستخدمي تطبيقاتك. إذا كنت تستخدم هذه الميزات، فيجب عليك الامتثال للقانون المعمول به، بما في ذلك تقديم الإشعارات المناسبة لمستخدمي تطبيقاتك جنبًا إلى جنب مع نسخة من بيان الخصوصية من Microsoft. يقع بيان الخصوصية الخاص بنا على https://go.microsoft.com/fwlink/?LinkID=824704. يمكنك معرفة المزيد حول جمع البيانات واستخدامها في وثائق المساعدة وبيان الخصوصية الخاص بنا. يعتبر استخدامك للبرنامج موافقة على هذه الممارسات.

لمزيد من المعلومات، راجع Telemetry.md.

الإبلاغ عن مشكلات الأمان

يجب الإبلاغ عن مشكلات الأمان والأخطاء بشكل خاص عبر البريد الإلكتروني إلى مركز استجابة الأمان من Microsoft (MSRC) على [email protected]. يجب أن تتلقى ردًا خلال 24 ساعة. إذا لم تتلق ردًا لسبب ما، يرجى المتابعة عبر البريد الإلكتروني لضمان استلامنا لرسالتك الأصلية. يمكن العثور على مزيد من المعلومات، بما في ذلك مفتاح MSRC PGP، في مركز أمان التقنية.

للحصول على تفاصيل إضافية، راجع Security.md.

الخصوصية وملفات تعريف الارتباط

https://go.microsoft.com/fwlink/?LinkId=521839

تنزيل الأداة