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

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

Eli-Hai 15-01-07 20:30

דרושים המון משאבים כדי לפענח את MD5, ואם תצפין אותה 5 פעמים, אתה תקשה עוד ועוד. ואנשים יתעייפו מלנסות לפענח, ולפענח ולפענח.

eLad 15-01-07 20:32

ציטוט:

נכתב במקור על ידי Eli-Hai (פרסם 406489)
דרושים המון משאבים כדי לפענח את MD5, ואם תצפין אותה 5 פעמים, אתה תקשה עוד ועוד. ואנשים יתעייפו מלנסות לפענח, ולפענח ולפענח.

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

וזה לא משנה כמה הצפנה על הצפנה תעשה. MD5 זה גיבוב. לא הצפנה (אפילו אין מפתח). הרי יכול להיות שהגיבוב של "12345" והגיבוב של "elad" הוא אותו אחד בדיוק..

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

Eli-Hai 16-01-07 14:11

ציטוט:

נכתב במקור על ידי eLad (פרסם 406493)
ונראה לך שזה כזה פשוט לשרת להצפין את זה 5 פעמים וכל פעם שהוא בודק את ערכי העוגייה מול מסד זה עוד 5 פעמים הצפנה?

וזה לא משנה כמה הצפנה על הצפנה תעשה. MD5 זה גיבוב. לא הצפנה (אפילו אין מפתח). הרי יכול להיות שהגיבוב של "12345" והגיבוב של "elad" הוא אותו אחד בדיוק..

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

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

tnadav 16-01-07 14:25

ציטוט:

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

זה פתרון דווקא בסדר גמור.
אם תהיה לנו עוגיה אחת שמכילה שם משתמש, כל אחד יכול לשנות את השם משתמש ל- Admin, והנה המערכת נפרצה ב.. חצי דקה?
אבל.. אם יש לנו עוגיה אחת משתמש ועוגיה אחת סיסמא, ומן הסתם בודקים אם השם משתמש והסיסמא נכונים, הפורץ צריך לדעת את הסיסמא בשביל לפרוץ.
הבעיה היחידה פה, היא, שיש חור ל- Brute Force, ואת זה אי-אפשר לחסום, בניגוד ל- LOGIN רגיל.
לכן, הנה מה שאני עושה:
במסד נתונים, טבלה בשם SESSIONS ושם יש ID מוצפן של SESSION, וסיסמא ל- SESSION ושם משתמש של המשתמש וסיסמא של המשתמש, ואז בעוגיה יש רק ID מוצפן של SESSION וסיסמא של SESSION והמידע על העוגיה, בכלל לא רלוונטי (אפשר לגנוב עוגיות, אבל את זה אפשר לחסום ע"י הגבלת IP של SESSION)
ואז בכלל אפשר לשלב את זה עם סטטיסטיקה וכו'..

DevZone.co.il 16-01-07 16:13

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

Eli-Hai 16-01-07 16:43

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

$query = mysql_query("SELECT * FROM `members` WHERE `id` ='" . $_COOKIE["id"] . "' AND `password` ='" . $_COOKIE["password"] . "'");

$login_status = mysql_num_rows($query);

if( !isset($_COOKIE["password"]) OR !isset($_COOKIE["password"]) OR $login_status !== 1 )
header("location:index.php?login");


eLad 19-01-07 19:53

ציטוט:

נכתב במקור על ידי tnadav (פרסם 406845)
זה פתרון דווקא בסדר גמור.
אם תהיה לנו עוגיה אחת שמכילה שם משתמש, כל אחד יכול לשנות את השם משתמש ל- Admin, והנה המערכת נפרצה ב.. חצי דקה?
אבל.. אם יש לנו עוגיה אחת משתמש ועוגיה אחת סיסמא, ומן הסתם בודקים אם השם משתמש והסיסמא נכונים, הפורץ צריך לדעת את הסיסמא בשביל לפרוץ.
הבעיה היחידה פה, היא, שיש חור ל- Brute Force, ואת זה אי-אפשר לחסום, בניגוד ל- LOGIN רגיל.
לכן, הנה מה שאני עושה:
במסד נתונים, טבלה בשם SESSIONS ושם יש ID מוצפן של SESSION, וסיסמא ל- SESSION ושם משתמש של המשתמש וסיסמא של המשתמש, ואז בעוגיה יש רק ID מוצפן של SESSION וסיסמא של SESSION והמידע על העוגיה, בכלל לא רלוונטי (אפשר לגנוב עוגיות, אבל את זה אפשר לחסום ע"י הגבלת IP של SESSION)
ואז בכלל אפשר לשלב את זה עם סטטיסטיקה וכו'..

שוב אני חוזר על השאלה - למה שתי עוגיות?
בעוגיה אחת אי אפשר להכניס 2 פרמטרים לבדיקה? אי אפשר להכניס 3 ו 4 פרמטרים? אפשר להכניס גם מיליון פרמטרים עד ההגבלה של 4KB לעוגייה. תאמין לי שלא פשוט להגיע לזה..

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

ציטוט:

נכתב במקור על ידי Eli-Hai (פרסם 406834)
כשאתה משתמש בסיסמאות סטנדרטיות, אז אולי.
אם למשל אתה משתמש בקוד שמסמל בעבורך משהו - מספר טלפון, תאריך לידה ומספרים שלא כולם משתמשים בהם, הסיכוי שאיזה מנוע של האשים יכיל את הסיסמא המוצפנת והלא מוצפנת הוא סיכוי של 1 למיליון לדעתי.

לא רק בנוגע לסיסמאות סטנדרטיות אלא גם אם תיקח מאמר שלם ותגבב אותו, יכול להיות שהפלט שלו יהיה הפלט של המילה "password". שתדע לך, יש מחשבי על שרצים 24/7/365 במטרה לפצח צפנים מסוג זה ולמצוא עוד מספרים ראשוניים. אשמח לראות את החישוב של 1 למיליון (;P).

DevZone.co.il 19-01-07 20:04

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

Eli-Hai 19-01-07 20:07

עוגיה 1: Username
עוגיה 2: Password (md5 hash)

ובודק עם שיאלתה שנתתי לך למעלה כבר...

tnadav 19-01-07 21:23

ציטוט:

נכתב במקור על ידי eLad (פרסם 408684)
שוב אני חוזר על השאלה - למה שתי עוגיות?
בעוגיה אחת אי אפשר להכניס 2 פרמטרים לבדיקה? אי אפשר להכניס 3 ו 4 פרמטרים? אפשר להכניס גם מיליון פרמטרים עד ההגבלה של 4KB לעוגייה. תאמין לי שלא פשוט להגיע לזה..

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


לא רק בנוגע לסיסמאות סטנדרטיות אלא גם אם תיקח מאמר שלם ותגבב אותו, יכול להיות שהפלט שלו יהיה הפלט של המילה "password". שתדע לך, יש מחשבי על שרצים 24/7/365 במטרה לפצח צפנים מסוג זה ולמצוא עוד מספרים ראשוניים. אשמח לראות את החישוב של 1 למיליון (;P).

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


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

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