שלח תשובה

זירת השאלות

351
צפיות
9
תשובות

sql injection – משהו יכול?

,‏ 6 ביוני, 2004

תראו,
לאחר שלמדתי קצת SQL Injection החלטתי לבנות מערכת שבודקת את שם המשתמש והסיסמה.

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

הינה לינק:  http://www14.brinkster.com/webme1/db/sql/log.asp

תגיות:

9 תשובות

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

    ורמז קטן:
    שם המשתמש זה: yaron

  2. אוריקס הגיב:

    במקום משחק ניחושים
    אולי תספר לנו מה עשית כדי למנוע את זה ואנחנו נחווה דעתינו?

  3. אוקי…הינה זה מה שעשיתי…


    <% if Request.Form("user") = "" then %><center><font class=’text’>Login Faield. Try Again.<% Response.End %><% End if %>
    <% if Request.Form("pass") = "" then %><center><font class=’text’>Login Faield. Try Again.<% Response.End %><% End if %>
    <%
    u = Request.Form("user")
    u = Replace(u, """", """)
    u = replace(u, "’", "”")
    u = Replace(u, "<", "<")
    u = Replace(u, ">", ">")
    u = Replace(u, "(", "(")
    u = Replace(u, ")", ")")
    u = Replace(u, "=", "=")
    u = trim(""& u &"")

    p = Request.form("pass")
    p = Replace(p, """", """)
    p = replace(p, "’", "”")
    p = Replace(p, "<", "<")
    p = Replace(p, ">", ">")
    p = Replace(p, "(", "(")
    p = Replace(p, ")", ")")
    p = Replace(p, "=", "=")
    p = trim(""& p &"")

    user = u
    pass = p

    %>
    <%
    set CS=server.createobject("adodb.connection")
    CS="provider=microsoft.jet.oledb.4.0; data source="& server.MapPath("YouDontSeeThat.mdb") &""
    set RS=server.createobject("adodb.recordset")
    RS.activeconnection=CS

    RS.open "select * from phoneu where user = ‘"& user &"’ and pass = ‘"& pass &"’ "

    If RS.EOF then ‘ rong pass
    Response.write "<center><font class=’text’>Login Faield. Try Again."
    Response.End
    Else
    Response.write "<center><font class=’text’>Good..you are connect to the web…!"
    End if
    %>

  4. אוריקס הגיב:

    הערות
    1. במקום להכפיל גרשים הייתי מחליף אותם.
    2. אתה צריך להחליף מילים כמו SELECT, INSERT, וכו’…

  5. תראה ותגיד לי עם זה טוב בבקשה….


    u = Request.Form("u")
    u = Replace(u, """", """)
    u = replace(u, "’", "”")
    u = replace(u, "", "ללא תוכן")
    u = Replace(u, "<", "<")
    u = Replace(u, ">", ">")
    u = Replace(u, "(", "(")
    u = Replace(u, ")", ")")
    u = Replace(u, "=", "=")
    u = Replace(u, "select", "Select")
    u = Replace(u, "insert", "inSert")
    u = Replace(u, "fields", "Fields")
    u = Replace(u, "request", "request")
    u = Replace(u, "redirect", "redirect")
    u = Replace(u, "response", "response")
    u = trim(""& u &"")

    p = Request.form("p")
    p = Replace(p, """", """)
    p = replace(p, "’", "”")
    p = replace(p, "", "ללא תוכן")
    p = Replace(p, "<", "<")
    p = Replace(p, ">", ">")
    p = Replace(p, "(", "(")
    p = Replace(p, ")", ")")
    p = Replace(p, "=", "=")
    p = Replace(p, "select", "Select")
    p = Replace(p, "insert", "inSert")
    p = Replace(p, "fields", "Fields")
    p = Replace(p, "request", "request")
    p = Replace(p, "redirect", "redirect")
    p = trim(""& p &"")

  6. אוריקס הגיב:

    נראה לי שאתה מוגן
    חוץ מזה שאמרתי שאני חושב שעדיף להחליף גרש ולא להכפיל.
    נהוג גם להחליף # & ו +.

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!