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

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

MAORBARI 29-11-14 16:26

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

ה HASH מורכב מ IP, USER AGENT ו SALT.
השאלה שלי היא, אני יודע שאיי פי ויוזר אג'נט אפשר לשנות, ואז אפשר להתחבר אל משתמש אחר על ידי גניבת ההאש שלו.
השאלה שלי היא אילו עוד מאפיינים מיוחדים אפשר לקחת, שלא יוכלו לזייף התחברות.

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

איך מונעים את זה? (אני משתמש בקוקיס ובמערכת סיישנים מבוססת מסד שאני יצרתי).

תודה.

אדיר 29-11-14 17:08

לא לגמרי הבנתי, למה שם משתמש וסיסמא לא מתאימים לך? מה אתה מנסה לעשות?

MAORBARI 29-11-14 17:22

ציטוט:

נכתב במקור על ידי אדיר (פרסם 892672)
לא לגמרי הבנתי, למה שם משתמש וסיסמא לא מתאימים לך? מה אתה מנסה לעשות?

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

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

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

ומכאן השאלה היא איך פותרים את הדבר הכל כך מחרפן הזה?

איציק ברבי 29-11-14 19:32

אתה מתכוון לinsecure handling cookie ?
פשוט בכל התחברות של גולש תעדכן את האייפי שלו במסד.
ואם פתאום מישהו צץ מחובר עם שם משתמש וסיסמא נכונים של החשבון עם אייפי אחר תנתק אותו ישירות.
כמו שאתה מבצע את השמירה של האייפי בכל פעם שהמשתמש מתחבר לאתר.

יש הרבה נקודות שאפשר לזהות חיבור מזוייף IP זה אחד מהם.

MAORBARI 29-11-14 23:50

ציטוט:

נכתב במקור על ידי איציק ברבי (פרסם 892686)
אתה מתכוון לinsecure handling cookie ?
פשוט בכל התחברות של גולש תעדכן את האייפי שלו במסד.
ואם פתאום מישהו צץ מחובר עם שם משתמש וסיסמא נכונים של החשבון עם אייפי אחר תנתק אותו ישירות.
כמו שאתה מבצע את השמירה של האייפי בכל פעם שהמשתמש מתחבר לאתר.

יש הרבה נקודות שאפשר לזהות חיבור מזוייף IP זה אחד מהם.

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

איציק ברבי 30-11-14 02:12

ציטוט:

נכתב במקור על ידי MAORBARI (פרסם 892706)
לא זה ממש לא מה שהתכוונתי אחי,
תקרא שוב את מה שכתבתי בתגובה מעל מה שהגבת יש שם הסבר יותר מעמיק.
ד"א הסיישן שקיים במסד זה כמו ההתחברות האחרונה, כך שבכל פעם שמתחברים נכנס איי פי המעודכן.
אבל מה שדברתי זה לא התחברות דרך האתר אלא זיוף על ידי העתקת קוקיס ושינוי USER AGENT לאותו USER AGENT של המשתמש, כאשר אני נמצא על אותה הרשת (כלומר אותו איי פי).

הבנתי,
אתה יכול לעשות בדיקה של מתי העוגייה נוצרה, אני יודע שהדפדפן יודע להגיד אבל PHP?
תסתכל על זה - http://stackoverflow.com/questions/2...as-set-created

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

בניה 30-11-14 09:20

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

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

איציק ברבי 30-11-14 15:34

ציטוט:

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

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

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

MAORBARI 01-12-14 00:38

היי תודה על העצה של התאריך. ומה הכוונה להצפין מפתח בפרטי?

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

אבי בר 01-12-14 17:45

תקרא על oauth, כל האתרים הגדולים משתמשים בזה.


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

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