הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   sql injenctions (https://hosts.co.il/forums/showthread.php?t=59903)

phpyo 11-02-08 22:16

sql injenctions
 
היי.

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

Striker 11-02-08 22:28

אממ זה קל.
תראה , יש לך אתר אוקיי? באתר את רוצה להציג משתמש כלשהו
הכתובת נראית ככה :

www.link.com/index.php?id=1

גורם זדוני יכול להוסיף

id=1' OR 1=1

מה שבעצם ימשוך את כל המשתמשים מהמערכת כי הרי 1 = 1 נכון לגבי כל המשתמשים שבמסד.

יש MYSQL_ESCAPE_STRING וכל מיני פונקציות בסגנון.

DanielS 11-02-08 22:28

רושמים ככה קודם כל. SQL injections
הזרקות SQL זה ניצול של מקום שהיה מיועד להכנסת מידע והזרקת תוכן שדופק את הפעולה התקינה שלו.

הבאתי לך קצת חומר בנושא
לחץ כאן !

aviho1 11-02-08 22:46

קח את המדריך הכי טוב בנושא:

http://www.underwar.co.il/document-details.asp?id=264

Ender 12-02-08 15:38

בגדול, בהנחה שאתה מפתח ב- PHP,

כל מה שאתה צריך לעשות זה לדאוג שכל קלט שמגיע מהמשתמש (POST, GET, COOKIE) ונכנס לשאילתת ה- SQL, עובר סינון של הפונקציה mysql_real_escape_string.

בנוסף, אתה צריך לוודא שכל קלט שאמור להיות מספרי בלבד, עובר סינון של הפונקציה intval.

Daniel 12-02-08 17:05

SQL Injections
הזרקות SQL.

אני אתן דוגמא. יש לך דף התחברות, שמקבל מידע מטופס, ועושה את השאילתה הבאה.
PHP קוד:

SELECT from members where name='{$_POST['name']}' AND pass='{$_POST['pass']}' 

מה יקרה, כאשר לדוגמא, שם המנהל הוא... admin. אז המשתמש יעשה את הדבר הבא.
בשם המשתמש, הוא יכניס admin, ובסיסמה, הוא יכניס ' OR 1 = '1
מה יצא?
PHP קוד:

SELECT from members where name='admin' AND pass='' OR 1='1' 

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

בהצלחה :)

phpyo 13-02-08 19:31

אני משתמש בשאילתת SELECT בלבד...
מישהו יכול בבקשה לתת לי תאכלס שורת קוד דוגמא שתגן על ה-SELECT ? (ע"פ ערך שנמצא ב-get, זה השימוש).

תודה רבה, אני פשוט ממש ממהר ולא כל כך הבנתי את התשבות הנכתבו למעלה.

בניה 13-02-08 21:13

PHP קוד:

$id intval($_GET['id']);
$text mysql_real_escape_string($_GET['text']);
$sql "SELECT * FROM `tbl` WHERE `id` = {$id}";
$sql "SELECT * FROM `tbl` WHERE `text`='{$text}'"


RS324 14-02-08 00:47

ציטוט:

נכתב במקור על ידי Ender (פרסם 608198)
בגדול, בהנחה שאתה מפתח ב- PHP,

כל מה שאתה צריך לעשות זה לדאוג שכל קלט שמגיע מהמשתמש (POST, GET, COOKIE) ונכנס לשאילתת ה- SQL, עובר סינון של הפונקציה mysql_real_escape_string.

בנוסף, אתה צריך לוודא שכל קלט שאמור להיות מספרי בלבד, עובר סינון של הפונקציה intval.

אתה בטוח שזה הדבר היחידי שצריך לעשות ?

מה לגבי....

גניבת סשינים ?
שינוי ערך של משתנים באמצעות הדפדפן ?
גניבת סיסמאות באמצעות IFRAMES לאתר שלך ?

שליחת העתקים של אימיילם \ הצפה של אימיליים באמצעות הזרקה לטפסי יצירת קשר ?

שינוי קבצי בקשה לקבצי אינקלוד על מנת להשיג קבצי מערכת ?

ולהמשיך עוד קצת יותר בצד לקוח...

גניבת קוקיז - גניבת זהויות ?
גניבת מידע רגיש של JSON באמצעות IFRAME אחר ובכך , השגת מידע חשוב (ככה לדוגמא פרצו לגוגל והשיגו את כל רשימת אנשי הקשר מה GMAIL של בן אדם...)

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

בניה 14-02-08 01:59

ציטוט:

נכתב במקור על ידי RS324 (פרסם 608628)
אתה בטוח שזה הדבר היחידי שצריך לעשות ?

מה לגבי....

גניבת סשינים ?
שינוי ערך של משתנים באמצעות הדפדפן ?
גניבת סיסמאות באמצעות IFRAMES לאתר שלך ?

שליחת העתקים של אימיילם \ הצפה של אימיליים באמצעות הזרקה לטפסי יצירת קשר ?

שינוי קבצי בקשה לקבצי אינקלוד על מנת להשיג קבצי מערכת ?

ולהמשיך עוד קצת יותר בצד לקוח...

גניבת קוקיז - גניבת זהויות ?
גניבת מידע רגיש של JSON באמצעות IFRAME אחר ובכך , השגת מידע חשוב (ככה לדוגמא פרצו לגוגל והשיגו את כל רשימת אנשי הקשר מה GMAIL של בן אדם...)

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

עד כמה שידוע לי, אם אתה פותח IFRAME מדף חיצוני שיושב על דומיין X לדומיין Y, העוגיות לדומיין Y לא ישלחו.
ז"א אם הוא מחובר לאתר ספציפי, הוא לא יוצג ככזה.


כל הזמנים הם GMT +2. הזמן כעת הוא 16:38.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ