![]() |
[PHP] ביטול פריצות אבטחה ע"י GET
שלום,
אני עובד על המערכת שלי, skywar, ואני צריך את עזרתכם =\ קיצור, יש לי משתנה, בשם gamelist. עכשיו, אם ניגשים אליו ככה: http://skyawr.webitem.co.il/index.php?gamelist=null המשתנה נמחק. זאת לא בעיה. במשתנה לא נכנס מידע כ"כ קריטי שאני לא יכול לשרוד שלא יראו אותו. אבלל.. אני מוטרד מזה שמישהו יגש למשתנה יותר קריטי במערכת, ואולי יצליח לפרוץ אותה... יש משהו להתחמק נגד זה? תודה רבה למגיבים. ושוב אני אומר, בעיות במחשב גורמות לי לא לבקר פה הרבה זמן. אז אני אחזור עוד מעט. |
ב"ה
המשתנה נקרא ככה: קוד:
$gamelist קוד:
$_GET['gamelist'] קוד:
register_globals = Off ואפשר לבדוק את זה ככה: קוד:
ini_get('register_globals') |
ואני, כמו 90% מהאחרים בעולם, לא על שרת פרטי.
כמו כן, אני לא בעל גישה לקובץ INI לצערי. אחרת העולם היה הרבה יותר שמח. xD SOMETHING ELSE? |
אוקי אז זאת פונקציה שכתבתי עכשיו - לא בדקתי אותה אבל רעיונית היא אמור לעבוד
אני מאמין שיש לך קובץ שנקרא gloabl.php שאתה קורא לו מכל הדפים אז תדחוף את הפונקציה שם : PHP קוד:
$allowedvars - זה הערכים שמורשים להשאר לדוגמא GET POST וכאלה אני שמתי שם רק כמה דוגמאות בשביל להמחיש את הרעיון. כמובן שצריך לבדוק את הקוד ואולי לפתח אותו עוד קצת אבל עקרונית זה אמור לעבוד תהנה. |
לא הבנתי איפה אתה משתמש פה בallowedvars... אין בו בכלל שימוש..
אני אנסה אחר כך.. תודה על הניסיון.. אה ד"א ומה קורה אם אני צריך GET? O.o |
אתה יכול לקבוע את ה-register_globals גם דרך ה-htaccess...
בשביל עוד מידע: www.justfuckinggoogleit.com |
ציטוט:
|
לא הבנתי למה כשהתוכן של המשתנה הוא NULL הוא יימחק..?
|
תחשוב שאתה יכול לגשת למשתנה $id ב2 צורות
1. $_GET['id'] 2. $id אבל זה מותנה במצב הregister_globals. המצב האידאלי מבחינת אבטחה הוא off. אבל אצלי הוא on, וזה יוצר בעיה רצינית באבטחה.. מקורה ככה? P: |
מצטער פשוט כתבתי את זה דיי מהר ולא בדיוק בדקתי את זה
בבקשה הפונקציה המתוקנת.... PHP קוד:
|
ב"ה
אתה יכול לעשות בתחילת הדף שכל המשתנים שעלולים לשנות להם את הערכים משורת הכתובת =NULL וככה גם אם הכניסו ערך הוא יתאפס, ואם אתה משנה את הערך שלו בתוך הסקריפט זה כבר לא משנה. |
ציטוט:
עלה לי רעיון אחר.... הנה פונקציה נוספת שכתבתי : PHP קוד:
ובודקת אם השמות קיימים גם כמשתנים, אם כן אז הוא מוחק אותם... אני מקווה שזה עוזר איך שהוא עכשיו בשביל לבדוק את הפונקציה נעשה כזה דבר : נכנס אל : page.php?mydogname=bobo כש REGISTER GLOBAL מופעל, אז אמור להיות לך משתנה שנקרא $mydogname אבל עם הפונקציה זה אמור להתבטל... לכן תעלה את הדף הבא לשרת : PHP קוד:
מקווה שעזרתי..... |
ציטוט:
OFF זה שאפשר $id ? |
ציטוט:
BlueNosE - בבקשה תגיב ותגיד אם זה עבד לך.... |
כל הזמנים הם GMT +2. הזמן כעת הוא 07:30. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ