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

ZAP

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

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

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

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

  1. סריקות DAST ו-API יפעלו באמצעות קובץ האימג' של ZAP ב-Docker. לאפליקציות אינטרנט, לנייד או פנימיות, צריך להריץ את הסריקה המלאה של ZAP בסביבת prod-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)

כדי לבצע סריקת 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 user

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

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

zap context
  1. מגדירים את מנגנון האימות. נכון לעכשיו, ZAP תומך בחמש שיטות אימות:

    • אימות ידני

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

    • אימות HTTP/NTLM

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

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

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

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

zap Export Context

חשוב לשמור את ההקשר במקום שבו קל יהיה להפנות אליו, כי תצטרכו לכלול את נתיב הקובץ כארגומנטים לפקודת הסריקה. עכשיו תוכלו להריץ סריקת אימות באמצעות פרטי הכניסה של המשתמש שצוינו בהקשר. דוגמה:

zap Create User
  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