הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 11-02-08, 22:16   # 1
phpyo
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
הודעות: 180

phpyo לא מחובר  

sql injenctions

היי.

מהם בעצם הinjenctions? איך נמנעים מהם? ממה עוד עלי להזהר?
אשמח לעזרה, עליי להגיש פרויקט שכרגע לא מאובטח בעוד יומים.
תודה רבה.
  Reply With Quote
ישן 11-02-08, 22:28   # 2
Striker
Permanently Banned
 
מיני פרופיל
תאריך הצטרפות: May 2007
הודעות: 812

Striker לא מחובר  

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

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

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

id=1' OR 1=1

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

יש MYSQL_ESCAPE_STRING וכל מיני פונקציות בסגנון.
  Reply With Quote
ישן 11-02-08, 22:28   # 3
DanielS
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
מיקום: ישראל
הודעות: 2,429

DanielS לא מחובר  

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

הבאתי לך קצת חומר בנושא
לחץ כאן !
__________________
Daniel
Email : daniel [AT] smartwd [DOT] com

  Reply With Quote
ישן 11-02-08, 22:46   # 4
aviho1
Winner
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 954

aviho1 לא מחובר  

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

http://www.underwar.co.il/document-details.asp?id=264
__________________
להנאתם אתר משחקים כיפי.
היום עושים מסיבות רווקים ורווקות רק בלופט למסיבות, תנסו ולא תתחרטו.
  Reply With Quote
ישן 12-02-08, 15:38   # 5
Ender
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2007
הודעות: 76

Ender לא מחובר  

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

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

בנוסף, אתה צריך לוודא שכל קלט שאמור להיות מספרי בלבד, עובר סינון של הפונקציה intval.
  Reply With Quote
ישן 12-02-08, 17:05   # 6
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

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.

בהצלחה
  Reply With Quote
ישן 13-02-08, 19:31   # 7
phpyo
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
הודעות: 180

phpyo לא מחובר  

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

תודה רבה, אני פשוט ממש ממהר ולא כל כך הבנתי את התשבות הנכתבו למעלה.
  Reply With Quote
ישן 13-02-08, 21:13   # 8
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

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}'"
  Reply With Quote
ישן 14-02-08, 00:47   # 9
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ציטוט:
נכתב במקור על ידי Ender צפה בהודעה
בגדול, בהנחה שאתה מפתח ב- PHP,

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

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

מה לגבי....

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

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

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

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

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

וזה לא נגמר... כי יש עוד הרבה
כל מקום שנכנס בו קלט של משתמש צריך לעבור וידוי, לא רק שאילתות.
  Reply With Quote
ישן 14-02-08, 01:59   # 10
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
אתה בטוח שזה הדבר היחידי שצריך לעשות ?

מה לגבי....

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

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

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

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

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

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

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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