הזרקת קוד

הזרקת קודאנגלית: Code Injection) היא טכניקת האקינג המנצלת חולשת אבטחה בתוכנה המאפשרת את שינוי מהלך הביצוע שלה. הדבר נעשה באמצעות העברת קלט לא צפוי, המכיל פקודות זדוניות, שמבוצעות כחלק מביצוע התכנית. טכניקות נפוצות של הזרקת קוד כוללות הזרקת SQL למסדי נתונים ו-XSS לאתרי אינטרנט. הזרקת קוד נובעת לרוב מכך שהתוכנית אינה מבצעת בדיקת תקינות של קלטים המועברים אליה.

התקפות הזרקת קוד נפוצות מאוד במערכות המתוכנתות בשפה מפורשת (שפת interperter) או שפת תסריט (script) כגון PHP ,SQL ,Perl שנפוצות מאוד בפיתוח ישומי web. עם זאת ניתן לבצע התקפות הזרקת קוד גם במערכות המבוססות שפות תכנות מהודרות כגון התקפת גלישת חוצץ (Buffer Overflow attack).

אופן הביצועעריכה

המידע שמספק המשתמש משמש[1], לעיתים קרובות, כקלט עבור תוכנה שנכתבה בשפה מפורשת. הקוד שמבצע המפרש (interperter) הוא שילוב של פקודות שנכתבו מראש על ידי מפתח התוכנה ומידע שמסופק על ידי המשתמשים. התוקף, באמצעות תכנון קפדני, שותל בקלט מידע שיש לו משמעות בשפת התכנות. כתוצאה מכך המידע מפורש כהוראות בשפת התכנות, ופקודותיו של התוקף מבוצעות כאילו נכתבו על ידי מפתח התוכנה המקורי[2]. דרך הפעולה משתנה בין התקיפות השונות. בתקיפת SQL injection השימוש הוא בשפת SQL על מנת למצוא פירצות בשליפה אשר נשלחת אל מסד הנתונים. בצורה כזו ניתן לבצע שליפה ממסד הנתונים על פי רצון התוקף ו"לדרוס" את השאילתא שהייתה אמורה להתבצע.

הערות שולייםעריכה

  1. ^ משתמש יכול להיות משתמש אנושי או מחשב.
  2. ^ Dafydd Stuttard, Marcus Pinto, The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws, Wiley, שנייה
  ערך זה הוא קצרמר בנושא מחשבים. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.