מדריך: הזרקות SQL (חלק 5) – התגוננות

ומה למדנו מהמדריך הארוך הזה? בעיקר – שאי אפשר לסמוך על המשתמש. ולכן תמיד צריך להתגונן ובכלל לא להגיע למצב שבו המשתמש יכול לעשות משהו כזה באתר.

בשביל להתגונן בפני ההזרקות, נפעל בשיטות הבאות –

    • SQLMAP אמורה לבדוק את פגיעות האתר. אני לא אוהב 'פתרונות קסם' אבל זה פתרון בהחלט סביר (לא מומלץ. תודה למאיר שהאיר את תשומת ליבי).שווה לעשות גם בדיקות ידניות, בכל מקרה. מה שמוביל אותי לנושא הבא:
    • בדיקת תקינות קלט, בדיקת תקינות קלט ושוב פעם בדיקת תקינות קלט.
      בדיקה פשוטה של האם המשתנה הוא int או לא, או האם הקלט מכיל תווים מיוחדים כמו ', יכולה לחסוך לנו המון כאב ראש.
    • "שומרי מקום"
      בשפות תכנות אפשר ליצור "שומרי מקום" שיחזיקו את המקום בשאילתה בצורה מובנית, ובכך יחסמו מניפולציה של השאילתה. לקריאה נוספת.

. רעיון דומה מאוד הוא Bind Variables בפלטפורמת Oracle (ואני דיי בטוח שגם בSQL PLUS ישנה אופציה), שמצליח למנוע SQL INJECTIONS וכן משפר את הביצועים של הDB, שכן הוא עוזר לו להשתמש בקש בצורה נכונה.

  • ובחייאת, אף פעם לא מזיק לתת לטבלאות שמות שלא עולים עליהם בשניות..

 

2 תגובות ל “מדריך: הזרקות SQL (חלק 5) – התגוננות”

  1. פוסט זה הוא חלק ממדריך בן חמישה חלקים.
    לחלק הראשון | לחלק השני |לחלק השלישי | לחלק הרביעי – הזרקה עיוורת | לחלק החמישי – התגוננות

  2. SQLMAP נגועה ב-win32/toolbar ממליץ לא להמליץ עליה

הוסף תגובה