נשלח בתאריך: 08 December 2007 בשעה 12:13 | | IP רשוּם
|
|
|
|
כמה הערות ותגובות :
1. injection = הזרקה (מילה פשוטה באנגלית) וזה בדיוק מה ששאלת עליו בשאלה שתיים. הרעיון הוא הזרקת או הכנסת קוד לתוך טפסים ומשתנים המועברים בשיטת get. ע"י כך ניתן לקבל אינפורמציה על מסד הנתונים, השרת, ועוד. אינפורמציה ו יכולה לשמש לפריצת השרת או האתר. לחילופין ניתן "סתם" להכניס קוד פוגעני למשל סקריפט שיפעיל הודעת אזהרה בלולאה אין סופית כחלק מהודעה בפורום. דבר זה משבית את הפורום לחלוטין כי כל מי שנכנס יופעל לו הסקריפט והמחשב יתקע.
דוגמאות להזרקת נתונים ניתן למצוא גם באתרים גדולים הפונים לילדים (ישנם גם ילדים בני 50) כדי לחסוך עלויות פיתוח.
רשימה חלקית של אתרים בהם ישנם פרצות אבטחה ברמה זו או אחרת (לא בדקתי הכל כרגע אבל אני מניח שהרשימה לא השתנתה) ניתן לראות כאן ולהבין שהנושא מגיע גם לבנקים (בחסות the_licker):
ashdodnews.co.il orange.co.il nana.co.il globes.co.il rest.co.il mp3music.co.il shaveh.co.il gizmo.co.il ktl.co.il zap.nana10.co.il wol.co.il פלאפון(pelephone.co.il) חברת החשמל(israel-electric.co.il) date4u.co.il sex4free.co.il kenyonim.com mivzakon.co.il tik-tak.co.il news-israel.net nofey-golan.org.il searchik.co.il אקסלנס נשואה בית השקעות (xnes.co.il) megalim.co.il wisebuy.co.il 6382020.co.il homeless.co.il afimilk.co.il e-city.co.il education.gov.il goop.co.il moreshet.co.il rating2day.co.il hotel4u.co.il bezeqint.net mybroker.co.il goforex.co.il nirshamim.co.il mednet.co.il themarker.com getit.co.il bizportal.co.il Ynet GetPrice Walla? בנק מזרחי טפחות בנק דיסקונט My Blog!
כל בעל אתר שרוצה להבין מה הבעיה אצלו אשמח לספק בחינם (כמובן) קישור קצר כל עוד אשמור את הנתונים עדיין (אל תשאלו בפורום על אחרים כי לא אספק אינפורמציה על כך)
2. אתה אומר שלמדת כל כך הרבה וסיימת כל כך הרבה מדריכים וכמעט סיימת עוד כמה ולא למדת את השיעור הראשון להערכתי של מה זה בכלל טכנולוגיית צד שרת וטכנולוגיית צד דפדפן. אל תרגיש רע..מנהלי פורומים גדולים של בניית אתרים נותנים תמיכה רחבה ועושים שגיאות אבסורדיות המראות שהם לא למדו יותר נכון ממך לכן ישנם ילדים בני 50 שלמדו 10 שנים בפורומים ובאתרים והם עדיין נמצאים בנקודה שאינם מבינים מה קורה מאחורי הקלעים והתוצאות לפני הקלעים מראות זאת.
הסבר קצר מאוד: קוד הפועל בטכנולוגיית צד שרת ולא חשוב איזה טכנולוגיה (asp;php;cgi;dot.net וכל דבר אחר) ולא חשוב איזה שפה (שפות מסוג שפות סקריפט או שפות ממשפחת שפות תכנות) רץ על השרת ולכן אינו נראה על ידי המשתמש. קוד לפנייה למסד הנתונים הפועל לכן בטכנולוגיית צד שרת אינו נראה על ידי הלקוח ולכן גם הסיסמאות אינן נראות על ידי הגולש (שוב !!! אם הוא כתוב בטכנולוגיית צד שרת ואם לא נעשתה פעולה זדונית לקבלת האינפורמציה הנ"ל והקוד פותח נכון)
3. לגבי השאלה השלישית שלך אני לא ממש מעוניין לשים בפורומים פתוחים ביוזמתי דוגמאות אבל ראה רשימה למעלה והיא גדולה. אם אתה רוצה תוכל לבצע חיפוש בגוגל על המילה injection ותגיע לדוגמאות רבות. בעקרון יש לזכור כמה כללי עבודה חשובים ואני אציג כמה כאן:
א. כל העבודה צריכה להיות בצד שרת וללקוח מציגים רק מה שהוא צריך ולא מעבר
ב. לא לעבוד לעולם בשיטת get אם אפשר לעבוד בשיטת post (עוזר רק נגד המשתמש הרגיל ועם מעט ידע נהיתן לעקוף את זה בקלות)
ג. תמיד בכל שליחת נתונים לבצע בדיקות על הנתונים בצד דפדפן. בקבלת נתונים לבצע בדיקות בצד שרת, בהכנסת נתונים למסדי נתונים לקבוע פורמטים נקיים ולא מיוחדים, בכל העברת נתונים בין לקוח לשרת לוודא שימוש במשתנה אפליקציה או session
ד. לזכור שכל אינפורמציה באינטרנט עוברת בכל האינטרנט וכל מחשב יכול למשוטך ולעקוב אחריה. לכן חובה ושוב פעם חושבה לעבוד עם SSL (Secure Sockets Layer) לאבטחת נתונים הקשוריטם בכסף או אינפורמציה חסויה (זהו סוג של קידוד שלא אפרט כרגע במדוייק)
ביום אחר אולי אמשיך...
מקווה שזה תרם מעט
גלישה מהנה
|