מתקפת Sql Injection

מאת גיא מזרחי ~ 7 במאי, 2007. בקטגוריות: כללי.

SQL INJECTION היא אחת המתקפות האהובות עלי.
סוג המתקפה הזה פונה בעיקר לנסיון לבצע מניפולציה על בסיסי נתונים.
בסיסי נתונים באתר אינטרנט/אינטרהנט יכולים להחזיק סוגים שונים של נתונים. הנתונים שעליהם בד"כ ננסה לבצע מניפולציות הם:
1. מידע על משתמשים
2. סיסמאות משתמש
3. הפניות אל דפים אחרים

ע"י מניפולציה של נתונים אלה נוכל לבצע שינוי נתונים מכל הסוגים וגניבת מידע.

הרעיון הוא שאם יש לי תוכנה שמבוססת על בסיס נתונים מסוג SQL אז במידה ואצליח להחדיר עצמי לתוך בסיס הנתונים אוכל לבנות לי משתמש חדש עם הרשאות לא מוגבלות או לקבל שם וסיסמה של משתמש כזה.

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

לאחר שיש לנו את הבקשה, נוכל לבצע בה שינויים ולבדוק מה מורשה ומה לא.
הרבה פעמים התו היחיד הזה יגרום לבעיות חמורות בתהליך ההזדהות מול בסיס הנתונים ויכניס אותנו כמשתמש על.

לפני ביצוע בדיקה כזאת:
1. לבצע גיבוי של בסיס הנתונים.
2. ללמוד SQL לפחות ברמה בסיסית.
3. קצת ASP ו PHP יעזרו.

סרטון הדגמה של בדיקה קטנה של אתר שעשיתי באוניברסיטת ת"א (לא לדאוג, כבר תוקן):
http://www.betternet.co.il/guy/demo/sqlinj/tau.wmv

מומלץ מאוד לקרוא על כך ב WIKIPEDIA, יש שם הסבר נהדר:
http://en.wikipedia.org/wiki/Sql_injection

תגיות:

14 תגובות על מתקפת Sql Injection

  1. shay3

    הוידאו תקין? אני לא מצליח לראות (או שזה באמת אמור להיות מסך שחור ברזולציה 1280×800 לדקה ו-21 שניות?)

  2. גיא מזרחי

    תנסה לשמור (לחצן ימני, שמירה בשם) ולראות את זה מהמחשב שלך. אין בעיה לראות את זה (לא עם WINDOWS ולא בלינוקס, לצורך העניין :-) )

  3. shay3

    עדיין זה לא עובד.

  4. גיא מזרחי

    ואללה לא יודע.
    אולי יש אצלך איזו בעיה להפעיל WMV.
    הסרטון רץ נפלא אצל די הרבה אנשים ששלחו לי מיילים בתגובה עליו.

  5. הסוכן ק.

    לא לעשות escape לכל קלט מהמשתמש זה כ"כ 1999

  6. nel

    דיברת על הזרקת SQך לתוכנות אף פעם לא שמעתי על זה…

    אתה יכול לפרט קצת בבקשה?

    על איזה סוג תוכנות, איך זה מתבצע וכו’

    תודה רבה…

  7. Tsofit

    Top 15 free SQL Injection Scanners:

    http://www.security-hacks.com/2007/05/18/top-15-free-sql-injection-scanners Target=_BLANK class=msg>http://www.security-hacks.com/2007/05/18/top-15-free-sql-injection-scanners>

  8. יהונתן קלינגר | ההאקרים, למה הם עושים זאת בכלל? ‏ :: Intellect or Insanity‏

    [...] של פניו על ידי ניצול של פרצות אבטחה סטנדרטיות כמו SQL-Injection או אפילו ניצול של בורות מנהלי האתר. ארז וולף מסביר [...]

  9. 123456

    אני לא מבין איך להשתמש בזה התו הזה לא משבש כלום בכמה אתרים שניסיתי שלא לדבר על כניסה לאתר בלי סיסמא

  10. גיא מזרחי

    אני מציע שתכנס לפורומים, בייחוד לפורום הזה:
    http://forums.hacking.org.il/viewforum.php?f=3
    אני בטוח שתוכל להיעזר בו ובאנשים שיש שם כדי ללמוד יותר.

  11. עוד אחד נפל חלל - פריצה לחשבונות ב-One | We CMS

    [...] שגם אנשים רגילים יבינו. (אני ממליץ בכלל, למי שלא מכיר על הבלוג של גיא מזרחי). המטרה היא לא ללמד איך לפרוץ אלא, להיות מודעים לבעיות [...]

  12. איך פורצים למחשב (הפוסט הזה לא מיועד למקצוענים). | ZuLL, יומנו של האקר.

    [...] הסבר על SQL Injection [...]

  13. yochi

    איך עושים את זה יש פירוט יותר טוב לסטומים שבינינו

  14. עדי

    יפה מאוד איך קוראים לתוכנה?