DCSIMG
70,000 Web Pages Hacked By Database Attack - Kobi Ma(blog)nezi

70,000 Web Pages Hacked By Database Attack

Posted Jan 14 2008, 01:41 AM by Kobi Magnezi  

נושא האבטחה שוב בכותרות ושוב אני קורא את הידיעה ומתרגז :)
ידיעה שפורסמה ב- InformationWeek בסוף השבוע:
http://www.informationweek.com/showArticle.jhtml?articleID=205600157

הידיעה מספרת לנו בחרדה על 70 אלף דפי אינטרנט או אתרי אינטרנט - לא ברור - שנפגעו בהתקפה שנועדה להפיל את מסד הנתונים. כאשר הידיעה הרועשת היא שההתקפה בוצעה באמצעות SQL Injection הכוונה ניצול קוד שלא כתוב כראוי ושגם לא מוגן באמצעות שכבת הגנה (מסתבר...) כדי לשנות את שאילתות ה- SQL המבוצעות מול שרת ה- DB.

ושוב מה שמפליא אותי מחדש זה ש- SQL Injection היא בין ההתקפות הישנות ביותר שיש והידועות ביותר ועדיין התקפות כאלה קורות ומסתבר שבהקפים לא קטנים.

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

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

ודבר אחרון - כמובן שלא לשכוח להחזיק נתונים כמו Connection String מוצפנים ולא גלויים.

מטרידים ה- 70,000 העמודים... אז כדי שלא נגדיל את המספר - תחשבו אבטחה גם בפיתוח...

קובי מגנזי, Kobi Magnezi.


תוכן התגובה

Kobi Magnezi כתב/ה:

היי ליאור,

אתה יכול לפנות אליי במייל אם תרצה עזרה מפורטת בשמחה.

לא הבנתי, אתה משתמש ב- MySQL מול דוט נט?

הכוונה שלי הייתה להשתמש באובייקטי הדוט נט

של Command כדי לייצר את השאילתא.

אתה מכניס את הפרמטרים למשתמש באמצעות AddParameter

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

אני מניח שזה עובד גם מול MySQL אם אתה משתמש בדוט נט.

אם אתה כותב ב- PHP (שזו בדרך כלל הסיבה לשימוש ב- MySQL) אתה צריך להשתמש במטודה של mysql_real_escape_string(מחרוזת משתמש)

המטודה הזו ב- PHP גורמת למחרוזת של המשתמש להפוך

להיות טקסט טיפש.

בהצלחה!

קובי מגנזי, Kobi Magnezi.

January 15, 2008 10:49 AM #

שלח תגובה

(שדה חובה) 

(שדה חובה) 

(אופציונלי)

(שדה חובה) 


Enter the numbers above: