![]() |
# 1 |
חבר וותיק
|
[עזרה]אבטחת אתר
שלום לכולם
אני בונה כרגע מערכת משתמשים ועליה ניהול תוכן אבל כמובן שהבעיה היא פחות לבנות ויותר לאבטח הבנתי שיש 2 סוגי בעיות עיקריות באבטחיה XSS ו SQL INJECTION אשמח אם תפרטו לי על כל בעיה-ממה היא נוצרת ואם אפשר דוגמא לאיך אפשרי לפרוץ ככה אתר וכמובן איך אני מתחיל להגן מפני שניהם?? אשמח לתגובות ואנשים שיוכלו לעזור אני כמובן לא מבקש קודים מוכנים רק את הבעיות שיש,ופונקציות שמטפלות בזה/דרכי טיפול(שאני יצור בעצמי פונקציות) תודה לכולם |
![]() |
![]() |
# 2 |
משתמש - היכל התהילה
|
גוגל לא פועל היום?
|
![]() |
![]() |
# 3 |
חבר בקהילה
|
mlinn אתה יודע מה מעצבן בתגובה שרשמת עכשיו?
אולי זה לא קשור לנושא אבל אני חייב להגיד את זה (גם אם התוצאה תהיה אזהרה או באן לכמה שעות) ואני מאמין שיש עוד אנשים שחושבים כמוני לפעמים שעושים חיפוש בגוגל על בעיות כאלה ואחרות מוצאים הרבה תוצאות מפורומים ויצא לי להיתקל לא מעט בשאלה שרשמתי בגוגל ופורום הוסטס היה במקום הראשון עם אותה שאלה שחיפשתי אתה יודע מה הייתה התגובה לשאלה של הגולש? "גוגל לא פועל היום?" "חפש בגוגל" "כיום יש גוגל" ועוד... מה גולש במקרה כזה יכול לעשות ? אתם (הגולשים שכן יודעים) אמורים לעזור (זה המטרה של הפורום לא?) וככה להגדיל את המידע שיש באינטרנט |
![]() |
![]() |
# 4 |
משתמש - היכל התהילה
|
דווקא לי התוצאה הראשונה זה וויקיפדיה, עם הסבר, דוגמאות והמלצות איך להמנע.
אם אומרים לך לחפש בגוגל, זאת אומרת שהמידע נפוץ וקל למצוא אותו, ואין צורך להטריד אנשים. לגבי זה שהתוצאות מובילות לפורומים ללא מענה אמיתי, תתלונן לגוגל. ( או שתלמד לחפש יותר טוב.) Last edited by mlnn; 11-07-08 at 10:38.. |
![]() |
![]() |
# 5 |
חסום
|
אתה עוטף כל get באתר קודם כל ב
htmlspecialchars כדי שזה ימנע שימוש בסקריפטים ב get שזה בעצם ההזרקות sql injection וגם ב textarea אתה שם htmlspecialchars חפש את זה בגוגל תבדוק איך עושים את זה. עוד טיפ ל get תעשה שליפה של ה ID הכי גבוה בטבלה שלך במסד ותעשה תנאי שאם ה ID שנכנס ל get יותר גבוה ממנו אז זה יציג דף שגוי ואם לא אז יציג את הדף שהוא צריך... ככה זה ימנע הכנסת אותיות וכו' ל GET קוד:
$id = htmlspecialchars($_GET['newsID']); $limitid = "SELECT MAX(ID) FROM news"; $limitid2=mysql_query($limitid) or die("blah"); $limitid3= mysql_result($limitid2, 0); if ($id > $limitid3 || $id < 1) { echo "<br><br><div align='center'><img src='img/logo.jpg'><meta http-equiv=\"refresh\" content=\"1; url=$sl\" /> "; exit(); } Last edited by kfir91; 11-07-08 at 11:05.. |
![]() |
![]() |
# 6 | ||||
אחראי פורום
|
ציטוט:
ציטוט:
ציטוט:
ציטוט:
ואני יכול לנחש למה אתה מתכוון, ובאמת - זה גם, אני אצטט את המגיב מהדיון השני - "שיטה מטופשת". זה בגלל שאתה עושה nl2br ואז htmlspecialchars. מה שהסברת לו זה איך לבזבז משאבים באופן לא יעיל. זה נחמד ומבורך לעזור, אבל אל תטעה אותו. Last edited by Daniel; 11-07-08 at 11:47.. |
||||
![]() |
![]() |
# 7 |
חבר וותיק
|
סבבה אז אם אני משתמש ב htmlspecialchars אני מוגן לחלוטין מXSS???
|
![]() |
![]() |
# 8 | |
חסום
|
ציטוט:
ככה שאם לא קיים עמוד כזה הוא מראה דף עם שגיאה שאין עמוד כזה זה יותר רציני ככה. דבר שני אפשר להכניס ב textarea סקריפטים. התג htmlspecialchars מונע את האפשרות הזאת. ולדבר הראשון שאמרת ברור שזה ימנע איך תוכל להכניס קודים שונים ל get עם יש על זה Htmlspeacilchars :\ עריכה וגם במשתמשים בתנאי הזה שרשמתי שם זה מונע אפשרות להכניס תווים לא חוקיים כמו ;,` וכו'.. (שמי שמבין בפריצות יודע שהתווים האלה הם חלק גדול) |
|
![]() |
![]() |
# 9 | |
אחראי פורום
|
ציטוט:
באמת? שלח לי textarea, אני מכניס בה סקריפטים. חיפשתי וחיפשתי, ואין שום פונקציה בשם htmlspeacilchars... אם היה לי זמן הייתי גומר את התגובה בזה, אבל, קוראים לזה SQL INJECTION. |
|
![]() |
![]() |
# 10 | |
חסום
|
ציטוט:
ברור שיש פונקצית htmlspeacilchars חפש בגוגל. זה ב php זה מנטרל את התגי html שאתה כותב ב textarea ו get אם אני שם את זה בtextarea אין סיכוי שאתה מכניס סקריפטים ניסיתי ולא הלך. |
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|