לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 15-01-2009, 14:37
  Koritza Koritza אינו מחובר  
 
חבר מתאריך: 04.09.08
הודעות: 50
הגנת CSRF [ושאלה קטנה על עיבוד XML]

שלום.
קראתי בכמה ימים האחרונים על בעיית הCSRF וההגנה מפניה.
יש לי כמה שאלות שאשמח לקבל עליהן תשובה:
1. האם הtoken חייב להיות חד-פעמי? כלומר, האם צריך להחליף אותו לאחר שימוש בו?
2. האם הtoken חייב להיות יחידני? כלומר, האם הtoken חייב להיות בשימוש רק אצל קליינט אחד בלבד? אם כן, האם אפשר לאחר מסגרת זמן מסויימת [24 שעות לדוגמא] לתת את הtoken למישהו אחר? [כמובן שזה יהיה token רנדומלי, אבל למקרה שיצא פעמיים אותו דבר ברנדומליות..]
3. האם אורך הtoken משפיע על הבטיחות? כלומר, אם אני מוציא לדוגמא מחרוזת מוצפנת בmd5 [בת 32 תווים], היא תהיה פחות בטוחה לעומת מחרות מוצפנת בsha1 [בת 40 תווים]?
4. איחסון הtoken - במידה ואני משתמש במערכת session-ים, האם כדאי יותר לשמור את הtoken בתא נוסף במסד הנתונים [גם ככה יש שורה לsession] או שמא לאחסן את הtoken ב$_SESSION?
5. במידה ויש דברים שאני מעוניין להשתמש בהם בajax, האם זה נכון לשמור את מידע הtoken במשתנה javascript בעמוד שמריץ את הסקריפט ואז לשלוח ביחד עם הajax?

שאלה נוספת לגבי עיבוד xml:
שוב, במידה ואני מעוניין להשתמש בajax, כדאי לי להשתמש בתגובת xml ואז לפענח אותו בעזרת javascript [כמו שנעשה במערכת vbulletin]?

תודה רבה לכם
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 15-01-2009, 16:09
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 1 שנכתבה על ידי Koritza שמתחילה ב "הגנת CSRF [ושאלה קטנה על עיבוד XML]"

ציטוט:
במקור נכתב על ידי Koritza
שאלה נוספת לגבי עיבוד xml:
שוב, במידה ואני מעוניין להשתמש בajax, כדאי לי להשתמש בתגובת xml ואז לפענח אותו בעזרת javascript [כמו שנעשה במערכת vbulletin]?


לדעתי זה ממש כדאי.
כך אפשר לקבל מידע ולסווגו.
אתן לך דוגמא: נניח ואתה משתמש ב-AJAX כדי לחפש שם משתמש ולקבל אותו בתשובת ה-AJAX.
איך תדע אם התשובה מכילה שם משתמש אמיתי, או שהיא מכילה הודעת שגיאה (או איזשהו סימן שיגיד לך שהייתה שגיאה) ?
תשובה: הפרדת מידע בעזרת XML.
לחלופין אפשר להשתמש ב-JSON, טכניקת הפרדת וסיווג מידע שמשתמשים בה גם ב-FF כאשר אתה מייצא את ה-bookmarks שלך (אם הם משתמשים בטכניקה הזו, אז כנראה שהיא טובה בשביל הפרדת וסיווג מידע).
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 17-01-2009, 20:20
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 7 שנכתבה על ידי tnadav1 שמתחילה ב "אז אתה אומר שאין לנו (מתכנתי..."

עשיתי קצת קוראים לגבי ה-CSRF...
כל הדברים האלה זה רק שמות יפים לדברים שמתכנת web רגיל מכיר...

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

לכן במקרה הזה פיתרון של captcha לדוגמא יהיה טוב
או לדוגמא בדיקה של ה-referrer

נערך לאחרונה ע"י dorM בתאריך 17-01-2009 בשעה 20:23.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 18-01-2009, 15:10
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 11 שנכתבה על ידי Koritza שמתחילה ב "אז מה זה אותו הtoken שמדברים..."

אוקי עשיתי עוד קצת קוראים ו-token מחרוזת שמשתמשים בה כאחת הטכניקות למניעת CSRF.

קודם אראה לך את הקישור מאיפה קראתי וקיבלתי דוגמא (מעולה): http://shiflett.org/articles/cross-...quest-forgeries
אני ממליץ לשים את הבלוג שלו במועדפים. אחלה בלוג, אחלה מאמרים ואחלה הסברים.

ה-token זו מחרוזת hash או כל מחרוזת שרירותית אחרת שאתה שם אותה בטופס (form) פעם אחת בלבד, וכאשר יתבצע submission של הטופס, אתה תבדוק את התקינות של ה-token, מה שאומר לך שאכן המשתמש שלח (אלא אם בוצעה XSS attack בעמוד) את הטופס.
ה-token חייב להיות מתחלף עבור כל טופס שאתה שם אותו, ועבור כל פעם שמבצעים submission לטופס.
להבדיל מ-captcha, ה-token לא מחייב את המשתמשים להדפיס אותיות מתמונה שהם רואים, אלא הוא מיושם כבר בטופס עצמו בצורה "עיוורת" למשתמש (כאשר הוא צופה בקוד מקור) על ידי המתכנת\צד-השרת, וזאת הסיבה שהוא הרבה יותר נוח לשימוש עבור משתמשי הקצה. לכן ה-token הוא דומה ל-captcha מלבד העובדה העיקרית שהוא לא מונע ממשתמשי קצה "רובוטיים" לבצע פעולות.

נערך לאחרונה ע"י dorM בתאריך 18-01-2009 בשעה 15:14.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #13  
ישן 19-01-2009, 19:24
  Koritza Koritza אינו מחובר  
 
חבר מתאריך: 04.09.08
הודעות: 50
בתגובה להודעה מספר 12 שנכתבה על ידי dorM שמתחילה ב "אוקי עשיתי עוד קצת קוראים..."

ציטוט:
במקור נכתב על ידי dorM
אוקי עשיתי עוד קצת קוראים ו-token מחרוזת שמשתמשים בה כאחת הטכניקות למניעת CSRF.

קודם אראה לך את הקישור מאיפה קראתי וקיבלתי דוגמא (מעולה): http://shiflett.org/articles/cross-...quest-forgeries
אני ממליץ לשים את הבלוג שלו במועדפים. אחלה בלוג, אחלה מאמרים ואחלה הסברים.

ה-token זו מחרוזת hash או כל מחרוזת שרירותית אחרת שאתה שם אותה בטופס (form) פעם אחת בלבד, וכאשר יתבצע submission של הטופס, אתה תבדוק את התקינות של ה-token, מה שאומר לך שאכן המשתמש שלח (אלא אם בוצעה XSS attack בעמוד) את הטופס.
ה-token חייב להיות מתחלף עבור כל טופס שאתה שם אותו, ועבור כל פעם שמבצעים submission לטופס.
להבדיל מ-captcha, ה-token לא מחייב את המשתמשים להדפיס אותיות מתמונה שהם רואים, אלא הוא מיושם כבר בטופס עצמו בצורה "עיוורת" למשתמש (כאשר הוא צופה בקוד מקור) על ידי המתכנת\צד-השרת, וזאת הסיבה שהוא הרבה יותר נוח לשימוש עבור משתמשי הקצה. לכן ה-token הוא דומה ל-captcha מלבד העובדה העיקרית שהוא לא מונע ממשתמשי קצה "רובוטיים" לבצע פעולות.

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

מס' פתרונות לדעתי:
1. captcha הוא פתרון טוב, אך הוא פחות נח למשתמש. או לחילופין, מדי פרוץ (אם הוא נח מדי למשתמש...).
2. פתרון פשוט נוסף יכול להיות ביצוע הפעולה באמצעות שיטת POST בלבד ולא באמצעות GET.
3. אבל נראה לי שיצירת קוד יחודי לפי אלגוריתם לא ידוע, לכל פעולה משמעותית, תהיה הפתרון הטוב יותר.

1. אני אשתמש גם בcaptcha אבל יש מקרים מסויימים [לדוגמא פעולות בעזרת ajax] שבהם השימוש בcaptcha לא יעיל או לא נכון.
2. זה גם תלוי במקרים, בכל מקרה נתונים חשובים מועברים בשיטת POST, אך נתונים פחות חשובים [כמו לדוגמא במערכת vbulletin, עמוד הmember.php?u=XXX] מועברים בכל זאת בGET.
3. מה הכוונה? מן הסתם, הכנסת שורה למסד לדוגמא, היא אותו דבר [פלוס מינוס] אצל כולם.
תודה לך
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #14  
ישן 18-01-2009, 18:01
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 8 שנכתבה על ידי dorM שמתחילה ב "עשיתי קצת קוראים לגבי..."

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

מס' פתרונות לדעתי:
1. captcha הוא פתרון טוב, אך הוא פחות נח למשתמש. או לחילופין, מדי פרוץ (אם הוא נח מדי למשתמש...).
2. פתרון פשוט נוסף יכול להיות ביצוע הפעולה באמצעות שיטת POST בלבד ולא באמצעות GET.
3. אבל נראה לי שיצירת קוד יחודי לפי אלגוריתם לא ידוע, לכל פעולה משמעותית, תהיה הפתרון הטוב יותר.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #15  
ישן 18-01-2009, 19:42
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 14 שנכתבה על ידי ישראל K שמתחילה ב "יש להשים לב לכך שהנקודה..."

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

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

לגבי השימוש ב-POST - עדיין אפשר לעקוף את זה ע"י ביצוע submission של טופס נסתר מהמשתמש אז סה"כ זה כנראה פיתרון של "ליתר ביטחון"...

לדעתי captcha במקרה הזה, אפילו אם יהיה נוח מאוד למשתמש ופריץ מאוד, עדיין זה שיטה להימנע מה-CSRF, שכן הוא אינו יכול לגלות את הקוד שב-CAPTCHA אלא אם הקוד שב-CAPTCHA יווצר מאלגוריתם ברור וצפוי מראש...

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

וגם הנוח ביותר למשתמש קצה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 11:59

הדף נוצר ב 0.05 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר