SQL Injection מוסבר בפשטות
צוות CyberHub · לפני 8 ימים · 1 דק׳ קריאה
TL;DR · בקצרה
SQL Injection היא אחת החולשות הוותיקות והמסוכנות ב-web: התוקף 'מזריק' פקודות לבסיס הנתונים דרך שדה תמים. נסביר איך זה עובד ואיך מתגוננים.
💼 למי שעובד במקצוע
מפתחים: לעולם אל תשרשרו קלט לשאילתה — השתמשו ב-Prepared Statements / ORM תמיד. בודקי חדירות: בדקו כל פרמטר (כולל headers ו-cookies), לא רק שדות טופס גלויים.
דמיינו טופס התחברות שבונה שאילתה כך:
SELECT * FROM users WHERE name = 'INPUT'אם המשתמש מקליד בשם המשתמש את הטקסט: ' OR '1'='1
השאילתה הופכת ל:
SELECT * FROM users WHERE name = '' OR '1'='1'והתנאי תמיד אמיתי — התוקף נכנס בלי סיסמה. זו SQL Injection.
למה זה קורה?
האפליקציה מערבבת קוד (שאילתת SQL) עם קלט משתמש כטקסט אחד. בסיס הנתונים לא יודע להבדיל ביניהם.
איך מתגוננים (החשוב באמת)
- Prepared Statements / Parameterized Queries — מפרידים בין הפקודה לנתונים. זו ההגנה מספר 1.
- ORM (כמו Prisma שאנחנו משתמשים בו כאן) — בונה שאילתות בטוחות אוטומטית.
- עקרון המינימום — למשתמש ה-DB של האפליקציה תנו רק את ההרשאות שהוא באמת צריך.
הכלל הזהב: לעולם אל תבנו שאילתה ע"י שרשור מחרוזות עם קלט משתמש.
📚 מקורות והפניות
💬 תגובות (0)
התחברו כדי להגיב.
אין עדיין תגובות. היו הראשונים! 🙂
🔴 עוד התקפה
XSS מוסבר — כשאתר מריץ קוד של תוקף בדפדפן שלכם
XSS (Cross-Site Scripting) היא חולשה שבה תוקף מזריק קוד JavaScript לאתר, והקוד רץ אצל משתמשים אחרים. נסביר את הסוגים ואיך מתגוננים.
Brute Force ו-Credential Stuffing — ניחוש סיסמאות בקנה מידה
תוקפים מנסים אינסוף סיסמאות (brute force) או משתמשים בסיסמאות שדלפו מאתרים אחרים (credential stuffing). נסביר ואיך עוצרים.
Man-in-the-Middle — כשמישהו מקשיב באמצע
מתקפת MITM היא כשתוקף מתמקם בין שני צדדים ומיירט/משנה את התקשורת. נפוצה ברשתות Wi-Fi ציבוריות. נסביר ואיך מתגוננים.