לדלג לתוכן

דרישות קדם ומבנה הקורס

מבוא

קורס זה הוא המשך ישיר לקורס פריצת אתרים בסיסי. בעוד הקורס הבסיסי התמקד בהבנת חולשות נפוצות וניצולן הבסיסי, הקורס המתקדם מתמקד בטכניקות מורכבות, 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 מסכם

תוצאות מצופות

בסיום הקורס תוכלו:

  1. לזהות חולשות מורכבות שכלי סריקה אוטומטיים מפספסים
  2. לchain חולשות ברמת חומרה נמוכה לכדי תקיפה קריטית
  3. לעקוף מנגנוני הגנה כמו WAF, CSP, ו-SameSite cookies
  4. להשתתף בתוכניות באג באונטי ברמה מתקדמת
  5. לכתוב דוחות מקצועיים שמתארים חולשות בצורה ברורה ומלאה
  6. לבנות כלים מותאמים לבדיקות אבטחה ספציפיות
  7. להבין תקיפות ברמת פרוטוקול כמו הברחת בקשות ותנאי 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 עם ספריות:

pip3 install requests beautifulsoup4 pwntools pycryptodome

כלי דפדפן:
- כלי הפיתוח של הדפדפן (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 - נפרט על כך בשיעור הבא.


טיפים להצלחה בקורס

  1. תרגלו הרבה - כל שיעור מלווה בתרגילים. אל תדלגו עליהם
  2. קראו דוחות באג באונטי - אתר HackerOne Hacktivity הוא מקור מצוין ללמידה מהעולם האמיתי
  3. בנו מעבדה מקומית - הקימו סביבת תרגול עם Docker שתוכלו לחזור אליה
  4. תעדו הכל - רשמו פתקים על טכניקות שעובדות, payloads שימושיים, וטריקים שגיליתם
  5. היו סבלניים - תקיפות מתקדמות דורשות זמן, חשיבה יצירתית, וניסוי וטעייה