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

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

link 28-10-11 19:53

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

נעבור לחלק השני:
כשהמשתמש מגיע לאתר פעם נוספת אתה טוען לתוך מחרוזת את הערך של העוגייה ומשתמש בפונקציה exploe(פונקצייה חזקה מאוד, שימושית ונוחה http://php.net/manual/en/function.explode.php ) ואז אתה טוען מהמסד נתונים את הערכים לפי המספר משתמש ובודק
הסיסמה שבמסד, אם אצפין אותה עוד הפעם היא זהה למה שיש בעוגייה?
האם הדומיין שיש בעוגייה זהה לדומיין הנוכחי?
וכו' וכו' וכו'. במידה וכן המשתמש מחובר, במידה ולא תמחק את העוגייה ותפנה אותו לעמוד ההתחברות.

מקווה שעזרתי.

BuildDream 29-10-11 13:07

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

daNN 29-10-11 15:24

ציטוט:

נכתב במקור על ידי almog12 (פרסם 823457)
למה להכניס את הדומיין שממנו בוצעה ההתחברות לתוך העוגיה?
זה לא שאם נכנסת לGoogle ונוצרה שם עוגיה עם אותו שם היא תקלט גם באתר שלך.
אני לא מצליח להבין איזה סיבה יש לך להכניס את שם הדומיין, אשמח אם תסביר לי.

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

link 29-10-11 19:45

סתם פרמטר שעלה לי בראש בשביל הדוגמא לא משהו מיוחד.

Erez | TrustMedia.co.il 29-10-11 21:41

ציטוט:

נכתב במקור על ידי daNN (פרסם 823391)
נתקלתי בהרבה שטויות שאתה זורק בפורום תגבה את מה שאתה אומר ב-הוכחות.
אתה טועה. שוב.
וממשיך להטעות אנשים, חבל.. אם אתה לא יודע פשוט אל תנסה לעזור.

זיוף Sessions אפשרי בדיוק באותה רמה של זיוף Cookies.

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

daNN 30-10-11 01:20

ציטוט:

נכתב במקור על ידי Erez.info (פרסם 823537)
סשיין זה לא מידע שנשמר אצל המשתמש אז הוא לא יכול לזייף אותו. אצל המשתמש נשמר רק מזהה ייחודי ובשרת נשמרים הסשיינים עם הערכים שלהם ואז לפי המזהה הייחודי זה שולף את הערך.
לכן אי אפשר לערוך את הערך של סשיין.
מה שכן אפשרי זה לגנוב את המזהה הייחודי של מישהו, אבל בכל מקרה אין למשתמש גישה לערך של הסשיין ואין שום טעם להצפין אותו. מספיק להזין שם את האיידי של המשתמש או שם המשתמש וזהו.
כמובן שאם השרת שאתה מאוחסן בו הוא בעל אבטחה אפסית אז זה כבר סיפור אחר ואפשר להשיג גישה למידע, אבל במקרה הנורמלי אין טעם להצפין את הסשיין

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

אדיר 30-10-11 08:06

בואו נעשה סדר בעניין יש כאן הרבה אנשים שחושבים שהם משחקים בינגו וזורקים תשובות בתקווה שאולי אחת מהן תהיה נכונה.

המידע הנשמר ב- "סיישן", שמור בעצם בקובץ על השרת שלצורך הדוגמה קוראים לו: sess_1234abcd5678,
ה- sess הינו prefix קבוע לכל קבצי הסיישן על השרת שנועד כדי להגדיר שמדובר בקובץ סיישן,
ה- 1234abcd5678 הינו המזהה הייחודי של הסיישן,
אצל המשתמש תשמר עוגיה בשם כלשהו לדוג' PHPSESSID כאשר הערך שלה הוא המזהה הייחודי של הסיישן, כאמור - 1234abcd1234.

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

ל- "זיוף" סיישן יש 2 דרכים עיקריות -
הראשונה היא Session Hijacking, השנייה היא Session Fixation.

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

בשנייה אנחנו צריכים לקבוע למשתמש כלשהו מזהה ידוע מראש,
כאשר קבענו לו את אותו מזהה, נשאר לנו רק לחכות שהוא יבצע איתו את הפעולה הרצויה (התחברות לאתר לדוג'),
עכשיו נקבע את אותו מזהה גם לעצמנו - אסטה לה ויסטה.

גישה ישירה לקובץ הסיישן אין לנו, ז"א לא נוכל לקרוא ממנו ישירות את הפרטים (במצב אופטימלי כמובן, כאשר השרת והאפליקציה מאובטחים),
אבל למעשה אנחנו גם לא צריכים, כי אם לדוג' שמורים בסיישן שם המשתמש והסיסמא -
השרת פשוט יזהה אותנו כאותו משתמש ויתחבר אליו, הגענו לאותה מטרה.


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

daNN 30-10-11 08:43

ואיך זה נוגד את הדברים שאמרתי?
הדרך הכי נכונה היא הדרך שציינתי בהודעה הראשונה שלי.
שהיא שימוש גם בSession וגם בעוגיות ביחד! זאת הכוונה שלהם!
הם לא נוגדים אחד את השני אלא אמורים לעבוד ביחד.

ציטוט:

- תיצור כפתור CheckBox של "זכור אותי" לדעת אם לשמור את העוגייה במחשב (אולי המשתמש לא משתמש הרגע במחשב שלו?)
- בדוק עם המסד נתונים אם המשתמש קיים והסיסמא תקינה במקרה אם כן המשך הלאה.
- תגדיר Session במקרה שלא השתמש באופציה "זכור אותי"
- במקרה שכן השתמש באופציה "זכור אותי" תגדיר עוגייה
- בנוסף את הסיסמא תדאג להצפין באחת מההצפנות המוצעות בPHP לדוגמא: md5, sha1, crc32 (מקווה שהבנת שגם הסיסמא במסד נתונים צריכה להיות מוצפנת).

trupix 31-10-11 03:17

לא יצא לי להודות לכם:)

תודה רבה לכולם!

BuildDream 31-10-11 11:45

ציטוט:

נכתב במקור על ידי daNN (פרסם 823470)
אין שום סיבה לשמור את הדומיין.
העוגייה אמורה להכיל שם משתמש וסיסמא מוצפנת בלבד במקרה של שימוש
באופציה "זכור אותי".
זהו.

אני מודע לזה, בגלל זה שאלתי אותו מה הסיבה שהוא רוצה לעשות את זה.

אני אישית כשאני בונה עוגיה להתחברות אני מכניס את הID הייחודי של המשתמש ואת הסיסמא שלו מוצפנת בצירוף קוד רנדומלי (כדי למנוע את האפשרות המזערית של MD5 Cracker) ולדעתי זאת שיטה מעולה.


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

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