דרישות קדם ומבנה הקורס¶
מבוא¶
קורס זה הוא המשך ישיר לקורס פריצת אתרים בסיסי. בעוד הקורס הבסיסי התמקד בהבנת חולשות נפוצות וניצולן הבסיסי, הקורס המתקדם מתמקד בטכניקות מורכבות, שרשור חולשות, עקיפת מנגנוני הגנה, ותקיפות שדורשות הבנה עמוקה של פרוטוקולים ומערכות.
הקורס מיועד לאנשים שרוצים להתקדם לרמה מקצועית - בין אם בבאג באונטי, בדיקות חדירה, או מחקר אבטחה.
דרישות קדם¶
ידע נדרש מהקורס הבסיסי¶
הקורס מניח שאתם שולטים בנושאים הבאים מהקורס הבסיסי:
- סקריפטים בצד הלקוח - XSS (Reflected, Stored, DOM-based)
- זיוף בקשות צד לקוח - CSRF
- הזרקת SQL - SQL Injection (Union, Blind, Error-based)
- הזרקת פקודות - Command Injection
- העלאת קבצים - File Upload Vulnerabilities
- מעבר נתיב - Path Traversal / LFI
- זיוף בקשות צד שרת - SSRF
- דה-סריאליזציה בסיסית - Insecure Deserialization
- ישויות חיצוניות - XXE (XML External Entities)
- שימוש בסיסי ב-Burp Suite (Proxy, Repeater, Intruder)
ידע טכני כללי¶
מעבר לידע באבטחת אפליקציות ווב, נדרש ידע בתחומים הבאים:
היכרות עם לינוקס:
- עבודה בסיסית בטרמינל
- ניהול קבצים וספריות
- התקנת כלים באמצעות מנהלי חבילות
- עבודה עם שירותי רשת בסיסיים
תכנות בסיסי:
- פייתון - כתיבת סקריפטים, עבודה עם ספריות כמו requests
- ג'אווהסקריפט - הבנת קוד צד לקוח, DOM, אירועים
- שפת PHP - קריאת קוד שרת בסיסי
# דוגמה - סקריפט פייתון פשוט לבדיקת נקודות קצה
import requests
target = "https://example.com"
endpoints = ["/api/v1/users", "/api/v2/users", "/api/admin", "/swagger.json"]
for endpoint in endpoints:
url = f"{target}{endpoint}"
response = requests.get(url, verify=False)
print(f"[{response.status_code}] {url}")
הבנת פרוטוקולים:
- פרוטוקול HTTP/HTTPS לעומק (כותרות, שיטות, קודי תגובה)
- מבנה בקשות ותגובות
- עוגיות וניהול סשן
- הבנה בסיסית של DNS
מה הופך את הקורס הזה לשונה מהקורס הבסיסי¶
גישה שונה¶
| קורס בסיסי | קורס מתקדם |
|---|---|
| חולשה בודדת בכל פעם | שרשור חולשות מרובות |
| סביבות מעבדה פשוטות | סביבות מציאותיות עם הגנות |
| ניצול ישיר וברור | עקיפת מנגנוני הגנה (WAF, CSP, SameSite) |
| הבנה תיאורטית | פרקטיקה מוכוונת באג באונטי |
| כלים בסיסיים | אוטומציה וכלים מתקדמים |
| חולשות נפוצות | חולשות נדירות ומורכבות |
מבנה הקורס¶
הקורס בנוי מ-10 חלקים, כל אחד מתמקד בתחום שונה:
חלק 0 - הקדמה¶
- דרישות קדם ומבנה הקורס (שיעור זה)
- סביבת עבודה מתקדמת - הקמת מעבדות עם Docker
- כלים מתקדמים ב-Burp Suite - תוספים, מאקרוים, וסקריפטים
חלק 1 - סריקות וחקירה מתקדמת¶
- ניתוח JavaScript סטטי
- סאבדומיין ו-Subdomain Takeover
- מיפוי משטח תקיפה
- חקירת API ומיפוי
- אתגר CTF משולב
חלק 2 - תקיפת אותנטיקציה מתקדמת¶
- תקיפת JWT מתקדמת (algorithm confusion, key injection)
- עקיפת OAuth ו-SSO
- תקיפת MFA ו-2FA
- תקיפת סשן מתקדמת
חלק 3 - הזרקות מתקדמות¶
- הזרקת SQL מתקדמת (second-order, out-of-band)
- הזרקת NoSQL
- הזרקת תבניות צד שרת - SSTI
- הזרקת LDAP, XPath, ו-Header
חלק 4 - תקיפות צד לקוח מתקדמות¶
- מתקפות XSS מתקדמות (mutation XSS, polyglot payloads)
- עקיפת CSP (Content Security Policy)
- תקיפת DOM מתקדמת (DOM clobbering, prototype pollution)
- שיטות חדשות ב-CSRF ועקיפת SameSite
חלק 5 - תקיפות פרוטוקול HTTP¶
- הברחת בקשות - HTTP Request Smuggling
- מתקפות Cache Poisoning
- מתקפות Host Header
- הבדלי פרסור - HTTP Desync
חלק 6 - תנאי מרוץ ולוגיקה עסקית¶
- מתקפות Race Condition
- באגים בלוגיקה עסקית
- תקיפות TOCTOU
- ניצול מנגנוני תשלום ומלאי
חלק 7 - תקיפות צד שרת מתקדמות¶
- דה-סריאליזציה מתקדמת (Java, PHP, Python, .NET)
- SSRF מתקדם (עקיפת פילטרים, cloud metadata)
- XXE מתקדם (out-of-band, blind)
- פגיעויות בתצורת שרת
חלק 8 - עקיפת WAF¶
- הבנת מנגנוני WAF
- טכניקות עקיפה נפוצות
- קידוד ופיצול מטענים
- בניית מטענים מותאמים אישית
חלק 9 - שרשור חולשות ועולם אמיתי¶
- מתודולוגיית שרשור חולשות
- ניתוח דוחות באג באונטי אמיתיים
- כתיבת דוחות מקצועיים
- אתגר CTF מסכם
תוצאות מצופות¶
בסיום הקורס תוכלו:
- לזהות חולשות מורכבות שכלי סריקה אוטומטיים מפספסים
- לשרשר חולשות ברמת חומרה נמוכה לכדי תקיפה קריטית
- לעקוף מנגנוני הגנה כמו WAF, CSP, ו-SameSite cookies
- להשתתף בתוכניות באג באונטי ברמה מתקדמת
- לכתוב דוחות מקצועיים שמתארים חולשות בצורה ברורה ומלאה
- לבנות כלים מותאמים לבדיקות אבטחה ספציפיות
- להבין תקיפות ברמת פרוטוקול כמו הברחת בקשות ותנאי מרוץ
כלים נדרשים¶
כלים עיקריים¶
Burp Suite:
גרסת Community מספיקה לרוב השיעורים, אך גרסת Pro מומלצת מאוד עבור:
- Burp Collaborator (זיהוי out-of-band)
- סריקה אוטומטית
- שמירת פרויקטים
- ביצועים מהירים יותר ב-Intruder
Docker ו-Docker Compose:
# התקנת Docker ב-Ubuntu/Debian
sudo apt update
sudo apt install docker.io docker-compose-plugin
sudo usermod -aG docker $USER
פייתון 3 עם ספריות:
כלי דפדפן:
- כלי הפיתוח של הדפדפן (F12)
- תוסף Wappalyzer לזיהוי טכנולוגיות
- תוסף FoxyProxy לניהול פרוקסי
כלים משניים¶
רשימת כלים נוספים שנתקין ונשתמש בהם במהלך הקורס:
- ffuf - סריקת תוכן ופרמטרים
- amass - מיפוי סאבדומיינים
- subfinder - גילוי סאבדומיינים
- nuclei - סריקת חולשות מבוססת תבניות
- sqlmap - ניצול SQLi אוטומטי (גרסה מתקדמת)
- httpx - בדיקת שרתי HTTP מרובים
פלטפורמות תרגול¶
PortSwigger Web Security Academy¶
הפלטפורמה המומלצת ביותר לתרגול. מכילה מעבדות אינטראקטיביות לכל נושא בקורס, מחולקות לרמות:
- Practitioner - רמה מתקדמת
- Expert - רמת מומחה
כתובת: https://portswigger.net/web-security
לאורך הקורס נפנה למעבדות רלוונטיות בכל נושא.
HackTheBox¶
פלטפורמה עם מכונות מלאות לתרגול. מכונות בקטגוריית Web מתאימות במיוחד לקורס:
- מכונות בדרגת קושי Medium ו-Hard
- אתגרי Web ייעודיים
- מרחב תרגול (Pwnbox) מוכן לשימוש
כתובת: https://www.hackthebox.com
TryHackMe¶
פלטפורמה עם מסלולי למידה מובנים. מסלולים רלוונטיים:
- Web Fundamentals (חזרה)
- Advanced Web Hacking
- Bug Bounty Path
כתובת: https://tryhackme.com
מעבדות מקומיות¶
נקים מעבדות מקומיות באמצעות Docker - נפרט על כך בשיעור הבא.
טיפים להצלחה בקורס¶
- תרגלו הרבה - כל שיעור מלווה בתרגילים. אל תדלגו עליהם
- קראו דוחות באג באונטי - אתר HackerOne Hacktivity הוא מקור מצוין ללמידה מהעולם האמיתי
- בנו מעבדה מקומית - הקימו סביבת תרגול עם Docker שתוכלו לחזור אליה
- תעדו הכל - רשמו פתקים על טכניקות שעובדות, מטענים שימושיים, וטריקים שגיליתם
- היו סבלניים - תקיפות מתקדמות דורשות זמן, חשיבה יצירתית, וניסוי וטעייה