שלום חברים.
אני אשמח לקבל מכם טיפים למניעת הבעיה בC++
למיטב ידעתי יש גם פונקציה מובנית בשפה שאמורה למנוע את זה. רק שאין לי שמץ מה היא
ודבר נוסף אני עדיין מחפש בנרות מישהו שלומד/למד/בעל הסמכה של CEH זה מאד יעזור
תודה
שלום חברים.
אני אשמח לקבל מכם טיפים למניעת הבעיה בC++
למיטב ידעתי יש גם פונקציה מובנית בשפה שאמורה למנוע את זה. רק שאין לי שמץ מה היא
ודבר נוסף אני עדיין מחפש בנרות מישהו שלומד/למד/בעל הסמכה של CEH זה מאד יעזור
תודה
|
|
אין לי שמץ, אני לא מתעסק עם C#, אבל אני אנסה לחפש לך....
עריכה:
מצאתי משהו בגוגל, אולי יכול לעזור.
buffer overflow נגרם כאשר מנסים להכניס איברים לתוך buffer יותר מאשר הוא יכול להכיל.
כתוצאה מכך נדרסת חלק מהאינפורמציה
במקומות סמוכים בתוכנית.
Buffer overflow יכול להתרחש ב c ע"י פקודות כגון : strcpy, strcat, gets
אשר מבצעות פעולה על קלט, מבלי לבדוק את הגבולות שלו.
נערך לאחרונה על ידי B1ackSn0w; 11-09-2008 בשעה 22:15.
תכירו את שמוליק, אבא קנה לי
הוא אוהב במבה, ביסלי ואת עודד מנשה
נכתב במקור על ידי אושרי
ראשית תודה, אני יודע מה זה (ההסבר הפשוט יותר הוא שזה פשוט חור אבטחה שמאפשר לשנות חלקים בקוד ולהכניס SHELL). אני פשוט שמעתי שיש פונקציה מובנת בC/C++ שמונעת את זה.
מצד שני יכול להיות שלא שמעתי טוב![]()
טיפ למניעת הבעיה:
אל תעשה את מה שגורם לה![]()
תכירו את שמוליק, אבא קנה לי
הוא אוהב במבה, ביסלי ואת עודד מנשה
נכתב במקור על ידי אושרי
אוקי כדי למנוע Buffer Overflow או BOF בקיצור...
כל מה שצריך לעשות זה לשלוט על הכמות הקלט שאתה מקבל מהמשתמש.
אם בד"א אתה רושם
עכשיו מה שאתה צריך לעשות זה בכדי למנוע את זה זה להגביל את כמות הקלטקוד:char a[10]; cin >> a;
שעוברת למשתנה
קוד:char a[10]; cin.width(10); cin >> a;