דרישות קדם ומבנה הקורס¶
מבוא¶
קורס זה הוא המשך ישיר לקורס פריצת אתרים בסיסי. בעוד הקורס הבסיסי התמקד בהבנת חולשות נפוצות וניצולן הבסיסי, הקורס המתקדם מתמקד בטכניקות מורכבות, chaining חולשות, bypass מנגנוני הגנה, ותקיפות שדורשות הבנה עמוקה של פרוטוקולים ומערכות.
הקורס מיועד לאנשים שרוצים להתקדם לרמה מקצועית - בין אם בבאג באונטי, בדיקות חדירה, או מחקר אבטחה.
דרישות קדם¶
ידע נדרש מהקורס הבסיסי¶
הקורס מניח שאתם שולטים בנושאים הבאים מהקורס הבסיסי:
- סקריפטים בצד הלקוח - XSS (Reflected, Stored, DOM-based)
- זיוף בקשות צד לקוח - CSRF
- הinjection SQL - SQL Injection (Union, Blind, Error-based)
- הinjection פקודות - Command Injection
- העלאת קבצים - File Upload Vulnerabilities
- מעבר נתיב - Path Traversal / LFI
- זיוף בקשות צד שרת - SSRF
- דה-סריאליזציה בסיסית - Insecure Deserialization
- ישויות חיצוניות - XXE (XML External Entities)
- שימוש בסיסי ב-Burp Suite (Proxy, Repeater, Intruder)
ידע טכני כללי¶
מעבר לידע באבטחת אפליקציות ווב, נדרש ידע בתחומים הבאים:
היכרות עם לינוקס:
- עבודה בסיסית בטרמינל
- ניהול קבצים וספריות
- התקנת כלים באמצעות מנהלי חבילות
- עבודה עם שירותי רשת בסיסיים
תכנות בסיסי:
- פייתון - כתיבת סקריפטים, עבודה עם ספריות כמו requests
- ג'אווהסקריפט - הבנת קוד צד לקוח, DOM, אירועים
- שפת PHP - קריאת קוד שרת בסיסי
# Example - a simple Python script for probing endpoints
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 לעומק (headers, שיטות, קודי תגובה)
- מבנה בקשות ותגובות
- עוגיות וניהול סשן
- הבנה בסיסית של DNS
מה הופך את הקורס הזה לשונה מהקורס הבסיסי¶
גישה שונה¶
| קורס בסיסי | קורס מתקדם |
|---|---|
| חולשה בודדת בכל פעם | הchaining חולשות מרובות |
| סביבות מעבדה פשוטות | סביבות מציאותיות עם הגנות |
| הexploit ישיר וברור | הbypass מנגנוני הגנה (WAF, CSP, SameSite) |
| הבנה תיאורטית | פרקטיקה מוכוונת באג באונטי |
| כלים בסיסיים | אוטומציה וכלים מתקדמים |
| חולשות נפוצות | חולשות נדירות ומורכבות |
מבנה הקורס¶
הקורס בנוי מ-10 חלקים, כל אחד מתמקד בתחום שונה:
חלק 0 - הקדמה¶
- דרישות קדם ומבנה הקורס (שיעור זה)
- סביבת עבודה מתקדמת - הקמת מעבדות עם Docker
- כלים מתקדמים ב-Burp Suite - תוספים, מאקרוים, וסקריפטים
חלק 1 - סריקות וחקירה מתקדמת¶
- ניתוח JavaScript סטטי
- סאבדומיין ו-Subdomain Takeover
- מיפוי משטח תקיפה
- חקירת API ומיפוי
- אתגר CTF משולב
חלק 2 - תקיפת אותנטיקציה מתקדמת¶
- תקיפת JWT מתקדמת (algorithm confusion, key injection)
- הbypass OAuth ו-SSO
- תקיפת MFA ו-2FA
- תקיפת סשן מתקדמת
חלק 3 - injections מתקדמות¶
- הinjection SQL מתקדמת (second-order, out-of-band)
- הinjection NoSQL
- הinjection תבניות צד שרת - SSTI
- הinjection LDAP, XPath, ו-Header
חלק 4 - תקיפות צד לקוח מתקדמות¶
- מתקפות XSS מתקדמות (mutation XSS, polyglot payloads)
- הbypass CSP (Content Security Policy)
- תקיפת DOM מתקדמת (DOM clobbering, prototype pollution)
- שיטות חדשות ב-CSRF ובypass SameSite
חלק 5 - תקיפות פרוטוקול HTTP¶
- הברחת בקשות - HTTP Request Smuggling
- מתקפות Cache Poisoning
- מתקפות Host Header
- הבדלי פרסור - HTTP Desync
חלק 6 - תנאי race ולוגיקה עסקית¶
- מתקפות Race Condition
- באגים בלוגיקה עסקית
- תקיפות TOCTOU
- הexploit מנגנוני תשלום ומלאי
חלק 7 - תקיפות צד שרת מתקדמות¶
- דה-סריאליזציה מתקדמת (Java, PHP, Python, .NET)
- SSRF מתקדם (bypass פילטרים, cloud metadata)
- XXE מתקדם (out-of-band, blind)
- פגיעויות בתצורת שרת
חלק 8 - bypass WAF¶
- הבנת מנגנוני WAF
- טכניקות bypass נפוצות
- הencoding ופיצול payloads
- בניית payloads מותאמים אישית
חלק 9 - chaining חולשות ועולם אמיתי¶
- מתודולוגיית chaining חולשות
- ניתוח דוחות באג באונטי אמיתיים
- כתיבת דוחות מקצועיים
- אתגר CTF מסכם
תוצאות מצופות¶
בסיום הקורס תוכלו:
- לזהות חולשות מורכבות שכלי סריקה אוטומטיים מפספסים
- לchain חולשות ברמת חומרה נמוכה לכדי תקיפה קריטית
- לעקוף מנגנוני הגנה כמו WAF, CSP, ו-SameSite cookies
- להשתתף בתוכניות באג באונטי ברמה מתקדמת
- לכתוב דוחות מקצועיים שמתארים חולשות בצורה ברורה ומלאה
- לבנות כלים מותאמים לבדיקות אבטחה ספציפיות
- להבין תקיפות ברמת פרוטוקול כמו הברחת בקשות ותנאי race
כלים נדרשים¶
כלים עיקריים¶
Burp Suite:
גרסת Community מספיקה לרוב השיעורים, אך גרסת Pro מומלצת מאוד עבור:
- Burp Collaborator (זיהוי out-of-band)
- סריקה אוטומטית
- שמירת פרויקטים
- ביצועים מהירים יותר ב-Intruder
Docker ו-Docker Compose:
# Install Docker on 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 - exploit 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 שתוכלו לחזור אליה
- תעדו הכל - רשמו פתקים על טכניקות שעובדות, payloads שימושיים, וטריקים שגיליתם
- היו סבלניים - תקיפות מתקדמות דורשות זמן, חשיבה יצירתית, וניסוי וטעייה