הליכי סריקה דינמיים

Zap

כלי סריקה Web Mobile Local API Extension Serverless הוראות
OWASP® Zed Attack Proxy (ZAP)

יש להשתמש ב- OWASP ZAP ; במאגר ZAP Docker כדי לבצע סריקות דינמיות אוטומטיות (DAST) מול האפליקציה. קובצי הגדרה מוגדרים מראש כבר כוללים את כל רכיבי ה-CWE הנדרשים. צריך רק להוסיף אותו לסביבה שלך ולפקודה של Docker Run.

להגדרה של כל סוג יש ללחוץ כאן סוגי אפליקציות

ניתן לבצע סריקה מלאה באינטרנט, בנייד או באפליקציות פנימיות באופן הבא:

  1. סריקות DAST ו-API יפעלו באמצעות התמונה של Docking ZAP. לאפליקציות אינטרנט, לנייד או לשימוש פנימי, צריך להפעיל את סריקת ה-ZAP המלאה בסביבת prod-1 או staging. 

  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)

ניתן לבצע סריקת API באמצעות השלבים הבאים:

  1. עבור סריקות API, יש להשתמש בקובץ התצורה 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

שם המשתמש לשימוש בסריקות מאומתות. יש להגדיר את המשתמש בקובץ ההקשר הנתון. 

כדי להגדיר את הפרמטרים האלה צריך ליצור קובץ הקשר. הדרך הקלה ביותר לעשות זאת היא באמצעות ממשק המשתמש של ZAP לשולחן העבודה.

הקשר Zap
  1. מגדירים את מנגנון האימות. כרגע, ZAP תומך ב-5 גישות אימות:

    • אימות ידני

    • אימות מבוסס-טופס

    • אימות HTTP/NTLM

    • אימות מבוסס סקריפט

    • אימות מבוסס JSON

אימות Zap
  1. מגדירים את הפרמטרים של האימות. בדרך כלל הפרטים האלה כוללים את כתובת ה-URL להתחברות ואת פורמט המטען הייעודי (שם משתמש וסיסמה). הפרמטרים הנדרשים הם ספציפיים לשיטות האימות שבשימוש.
אימות הגדרה של zap
  1. יש להוסיף משתמש וסיסמה חוקיים. אם משתמשים חושפים פונקציונליות שונה על סמך תפקידים, אפשר ליצור מספר משתמשים.
הגדרת משתמשים ב-Zap

לאחר קביעת הגדרות אלה, ניתן לייצא את ההקשר כקובץ לסריקתך.

הקשר לייצוא 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