ZAP
כלי הסריקה | Web |
Mobile |
Local |
API |
Extension |
Serverless |
הוראות |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) |
שימוש ב- OWASP ZAP ; בקונטיינר של ZAP Docker לביצוע סריקות דינמיות אוטומטיות (DAST) נגד האפליקציה. קובצי תצורה מוגדרים מראש כבר כוללים את כל ה-CWE הנדרשים. כל מה שצריך לעשות הוא להוסיף אותו לסביבה ולפקודת ההרצה של Docker. |
להגדרה של כל סוג
לחצו כאן
סריקה מלאה באפליקציות לאינטרנט, באפליקציות לנייד או באפליקציות פנימיות אפשר לבצע לפי השלבים הבאים:
-
סריקות DAST ו-API יפעלו באמצעות קובץ האימג' של ZAP ב-Docker. לאפליקציות אינטרנט, לנייד או פנימיות, צריך להריץ את הסריקה המלאה של ZAP בסביבת prod-1 או בסביבת ייצור.
-
מורידים את קובץ התצורה zap-casa-config.conf ועוברים לתיקייה שלו.
-
יוצרים קובץ הקשר שבו יתבצע הסריקה. פרטים נוספים מופיעים בהוראות האימות שבהמשך.
-
מריצים את הפקודה הבאה:
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
-
הפלט יישמר בקובץ XML (דוגמה מצורפת כאן: zap-results-full.xml)
כדי לבצע סריקת API:
-
לסריק API, משתמשים בקובץ התצורה zap-casa-api-config.conf.
-
עוברים לספרייה שלו ומריצים את הפקודה הבאה:
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
-
הפלט יישמר בקובץ XML (דוגמה מצורפת כאן: zap-results-api.xml )
אימות
צריך לבצע סריקות ZAP עם אימות כדי להבין איפה מאוחסנים נתוני המשתמשים ואיפה יש גישה אליהם. כדי לעשות זאת, צריך להגדיר את האפשרות הזו לפני שמריצים את הסריקות. קובץ האימג' של ZAP ב-Docker מאפשר להשתמש בשני ארגומנטים שקשורים לאימות:
-n context_file |
קובץ הקשר שייטען לפני סריקת היעד |
-U user |
שם המשתמש לשימוש לסריקות מאומתות. המשתמש חייב להיות מוגדר בקובץ ההקשר הנתון. |
כדי להגדיר את הפרמטרים האלה, צריך ליצור קובץ הקשר. הדרך הקלה ביותר לעשות זאת היא דרך ממשק המשתמש של ZAP למחשב.
-
מגדירים את מנגנון האימות. נכון לעכשיו, ZAP תומך בחמש שיטות אימות:
-
אימות ידני
-
אימות מבוסס-טופס
-
אימות HTTP/NTLM
-
אימות מבוסס-סקריפט
-
אימות מבוסס-JSON
-
- מגדירים את פרמטרי האימות. בדרך כלל, הנתונים האלה כוללים את כתובת ה-URL להתחברות ואת הפורמט של עומס העבודה (שם המשתמש והסיסמה). הפרמטרים הנדרשים ספציפיים לשיטות האימות שבהן נעשה שימוש.
- צריך להוסיף משתמש וסיסמה תקפים. אם האפליקציה חושפת פונקציונליות שונה על סמך תפקידים, צריך ליצור כמה משתמשים.
אחרי שתגדירו את ההגדרות האלה, תוכלו לייצא את ההקשר כקובץ שאפשר להפנות אליו בסריקה.
חשוב לשמור את ההקשר במקום שבו קל יהיה להפנות אליו, כי תצטרכו לכלול את נתיב הקובץ כארגומנטים לפקודת הסריקה. עכשיו תוכלו להריץ סריקת אימות באמצעות פרטי הכניסה של המשתמש שצוינו בהקשר. דוגמה:
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