שלח תשובה

זירת השאלות

3192
צפיות
4
תשובות

צריך עזרה בבדיקת אבטחה של האתר …

,‏ 19 במרץ, 2005

אני צריך שתעזרו לי לבדוק כי אני עברתי כמעט על הכל אם יש פרצות אבטחה באתר למשל אם משנים למעלה את הערך של המשתנה האם זה נותן לך להיות מנהל וכל מיני דברים זה האתר:
http://godzilla.s-host.org/index.asp

למשל פה

https://webmaster.org.il/forums/addMessage.asp?ForumId=3&id=

אם משנים את ה FORUMID לID שלא קיים אם זה כותב הודעה..
תודה לכל העוזרים 😀 אולי נעשה מזה FAQ בסוף?
שיגיד לבוני אתרים ממה להזהר

תגיות:

4 תשובות

  1. BuildHome הגיב:

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

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

  2. god הגיב:

    אני פשוט עשיתי שזה מקבל תמספר אם זה
    ריק או אם זה RS.EOF.. אז תקלה בנתון..
    לא צריך להסתבך יותר מידי 😀 אני רק מחפש דברים שנפלתי בהם שלא שמתי לב

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

    דוגמא להחלפת הגרש בפעמיים הגרש:


    x = Request.QueryString("searwords")
    x = Replace(x, "'", """)

    אתה בטח שואל את עצמך למה זה קורה?
    זו פרצת ה- SQL הכי ידועה שקיימת, קוראים לה SQL Injection ותוכל לקרוא על זה בהרחבה במאמר הבא: https://www.webmaster.org.il/article.asp?id=154

    בהצלחה!

  4. ההודעה הזו מתאימה יותר לצד שרת לפי
    דעתי,
    כי אבטחה זה בדרך כלל נושא של צד שרת… אני אישית לא מכיר בעיות אבטחה בצד לקוח.

שלח תשובה