إجراءات المسح الديناميكي

ZAP

أداة المسح Web Mobile Local API Extension Serverless التعليمات
OWASP® Zed Attack Proxy (ZAP)

استخدِم OWASP ZAP ، حاوية ZAP Docker لإجراء عمليات فحص ديناميكية مبرمَجة (DAST) على تطبيقك. تحتوي ملفات الإعداد المحدَّدة مسبقًا على جميع أدوات CWE المطلوبة. ما عليك سوى إضافته إلى بيئتك وإلى أمر تشغيل Docker.

للاطّلاع على تعريف كل نوع، انقر على هذا الرابط أنواع التطبيقات

يمكن إجراء فحص كامل على الويب أو الأجهزة الجوّالة أو التطبيقات الداخلية باتّباع الخطوات التالية:

  1. سيتم تنفيذ عمليات فحص DAST وAPI باستخدام صورة Docker الخاصة ببرنامج ZAP. بالنسبة إلى تطبيقات الويب أو الأجهزة الجوّالة أو التطبيقات الداخلية، يجب إجراء عملية فحص ZAP الكاملة في بيئة الإصدار العلني 1 أو بيئة الاختبار. 

  2. نزِّل ملف الإعداد zap-casa-config.conf وانتقِل إلى الدليل الخاص به. 

  1. أنشئ ملف سياق لتشغيل عملية الفحص عليه. اطّلِع على تعليمات المصادقة أدناه للحصول على مزيد من التفاصيل.

  1. شغِّل الأمر التالي: 

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py 
-t https://example.com -P 8080 
-c zap-casa-config.conf 
-x results-full.xml -n example.context -U username
  1. سيتم حفظ النتيجة في ملف XML (إليك مثال مرفق هنا: zap-results-full.xml)

يمكن إجراء فحص لواجهة برمجة التطبيقات باتّباع الخطوات التالية:

  1. لإجراء عمليات فحص لواجهات برمجة التطبيقات، استخدِم ملف الإعدادات zap-casa-api-config.conf

  1. انتقِل إلى دليله ونفِّذ الأمر التالي:

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
-t owasp/zap2docker-stable zap-api-scan.py 
-t https://example.com -f openapi-P 8080 
-c zap-casa-api-config.conf 
-x results-full.xml
  1. سيتم حفظ النتيجة في ملف XML (المثال مرفق هنا: zap-results-api.xml )

المصادقة

يجب إجراء عمليات فحص ZAP مع المصادقة لمعرفة مكان تخزين بيانات المستخدمين والوصول إليها. يتطلّب ذلك إجراء عملية ضبط قبل تنفيذ عمليات الفحص. تسمح صورة ZAP Docker بتقديم دفتَين متعلّقتَين بالمصادقة:

-n context_file

ملف السياق الذي سيتم تحميله قبل فحص الهدف

-U user

اسم المستخدم المراد استخدامه لإجراء عمليات مسح ضوئي تمّت مصادقتها يجب تحديد المستخدم في ملف السياق المحدّد. 

لضبط هذه المَعلمات، يجب إنشاء ملف سياق. ويمكن إجراء ذلك بسهولة من خلال واجهة مستخدم ZAP Desktop.

سياق zap
  1. اضبط آلية المصادقة. يتيح ZAP حاليًا خمس طرق مصادقة:

    • المصادقة اليدوية

    • المصادقة المستندة إلى النموذج

    • مصادقة HTTP/NTLM

    • المصادقة القائمة على النص البرمجي

    • المصادقة المستندة إلى ملف JSON

مصادقة Zap
  1. حدِّد مَعلمات المصادقة. ويشمل ذلك بشكل عام عنوان URL لتسجيل الدخول وتنسيق الحمولة (اسم المستخدم وكلمة المرور). إنّ المَعلمات المطلوبة خاصة بطرق المصادقة المستخدَمة.
مصادقة إعداد zap
  1. أضِف اسم مستخدم وكلمة مرور صالحَين. أنشئ مستخدمين متعدّدين إذا كان التطبيق يعرض وظائف مختلفة استنادًا إلى الأدوار.
zap Configure Users

بعد ضبط هذه الإعدادات، يمكنك تصدير السياق كملف ليتمّ الرجوع إليه في عملية الفحص.

سياق تصدير zap

تأكد من حفظ السياق في مكان يسهل الرجوع إليه، حيث ستحتاج إلى تضمين مسار الملف كوسيطة لأمر المسح. ستتمكّن الآن من إجراء عملية فحص مُعتمَدة باستخدام بيانات تسجيل دخول المستخدم المحدّدة في السياق. مثال:

إنشاء مستخدم في zap
  docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
  -t owasp/zap2docker-stable zap-full-scan.py 
  -t https://example.com -P 8080 
  -c zap-casa-config.conf -x results-full.xml 
  -n /Users/DemoUser/Documents/Context.context -U test@example.com