• 12-01-2010, 12:25:14
    #1
    Merhaba arkadaşlar;

    Asp siteler yapıyorum, son olarak e-ticaret sistemleri yaptım. Bilirsiniz bu scriptlerde açık bırakmamak lazım. Böyle bi konu açarak güvenlik açıklarını kapatmak istedim.

    Bu konu altında asp sitelerinizde güvenlik açığını minimum'a indirmek için yazılar paylaşalım. Bu yazıları ana konuda güncelleyerek en güvenli siteyi oluşturmak amacımız olsun.

    İlk olarak klasik herkesin bildiği sql açığı;
    En basit çözümü replace ile bu kelimeleri silmek..
    <%Function sansur(ByVal strEntry)
        strEntry = Replace (strEntry ,"`","",1,-1,1)
        strEntry = Replace (strEntry ,"'","",1,-1,1)
        strEntry = Replace (strEntry ,"}","",1,-1,1)
        strEntry = Replace (strEntry ,"{","",1,-1,1)
        strEntry = Replace (strEntry ,"+","",1,-1,1)
        strEntry = Replace (strEntry ,"%","",1,-1,1)
        strEntry = Replace (strEntry ,"!","",1,-1,1)
        strEntry = Replace (strEntry ,"#","",1,-1,1)
        strEntry = Replace (strEntry ,"Select","",1,-1,1)
        strEntry = Replace (strEntry ,"Delete","",1,-1,1)
        strEntry = Replace (strEntry ,"Drop","",1,-1,1)
        strEntry = Replace (strEntry ,"Table","",1,-1,1)
        strEntry = Replace (strEntry ,"Alter","",1,-1,1)
        strEntry = Replace (strEntry ,"Insert","",1,-1,1)
        strEntry = Replace (strEntry ,"Update","",1,-1,1)
        strEntry = Replace (strEntry ,"From","",1,-1,1)
        strEntry = Replace (strEntry ,"Session","",1,-1,1)
        strEntry = Replace (strEntry ,"Script","",1,-1,1)
        strEntry = Replace (strEntry ,"like","",1,-1,1)
        strEntry = Replace (strEntry ,"end","",1,-1,1)
        strEntry = Replace (strEntry ,"'or'","",1,-1,1)
        strEntry = Replace (strEntry ,"'","",1,-1,1)
    sansur = strEntry
    End Function%>
    <%=sansur(rs("login"))%>
    2. Açık Veritabanı ismi;
    Kesinlikle "db.mdb, veri.mdb, veritabani.mdb, data.mdb, database.mdb vs" bulunması kolay isimlerle veritabanı ismi koymayınız.
  • 12-01-2010, 12:28:05
    #2
    En güncel fonksiyon;

    Alıntı
    <%
    Function Kontrol(Filtre)

    Kontrol = Filtre

    Kontrol = Replace(Kontrol, "<", "&lt")
    Kontrol = Replace(Kontrol, ">", "&gt")
    Kontrol = Replace(Kontrol, "^", "-")
    Kontrol = Replace(Kontrol, vbcrlf, "<br>")
    Kontrol = Replace(Kontrol, "script", "&#115cript", 1, -1, 0)
    Kontrol = Replace(Kontrol, "SCRIPT", "&#083CRIPT", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Script", "&#083cript", 1, -1, 0)
    Kontrol = Replace(Kontrol, "script", "&#083cript", 1, -1, 1)
    Kontrol = Replace(Kontrol, "object", "&#111bject", 1, -1, 0)
    Kontrol = Replace(Kontrol, "OBJECT", "&#079BJECT", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Object", "&#079bject", 1, -1, 0)
    Kontrol = Replace(Kontrol, "object", "&#079bject", 1, -1, 1)
    Kontrol = Replace(Kontrol, "applet", "&#097pplet", 1, -1, 0)
    Kontrol = Replace(Kontrol, "APPLET", "&#065PPLET", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Applet", "&#065pplet", 1, -1, 0)
    Kontrol = Replace(Kontrol, "applet", "&#065pplet", 1, -1, 1)
    Kontrol = Replace(Kontrol, "embed", "&#101mbed", 1, -1, 0)
    Kontrol = Replace(Kontrol, "EMBED", "&#069MBED", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Embed", "&#069mbed", 1, -1, 0)
    Kontrol = Replace(Kontrol, "embed", "&#069mbed", 1, -1, 1)
    Kontrol = Replace(Kontrol, "event", "&#101vent", 1, -1, 0)
    Kontrol = Replace(Kontrol, "EVENT", "&#069VENT", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Event", "&#069vent", 1, -1, 0)
    Kontrol = Replace(Kontrol, "event", "&#069vent", 1, -1, 1)
    Kontrol = Replace(Kontrol, "document", "&#100ocument", 1, -1, 0)
    Kontrol = Replace(Kontrol, "DOCUMENT", "&#068OCUMENT", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Document", "&#068ocument", 1, -1, 0)
    Kontrol = Replace(Kontrol, "document", "&#068ocument", 1, -1, 1)
    Kontrol = Replace(Kontrol, "cookie", "&#099ookie", 1, -1, 0)
    Kontrol = Replace(Kontrol, "COOKIE", "&#067OOKIE", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Cookie", "&#067ookie", 1, -1, 0)
    Kontrol = Replace(Kontrol, "cookie", "&#067ookie", 1, -1, 1)
    Kontrol = Replace(Kontrol, "form", "&#102orm", 1, -1, 0)
    Kontrol = Replace(Kontrol, "FORM", "&#070ORM", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Form", "&#070orm", 1, -1, 0)
    Kontrol = Replace(Kontrol, "form", "&#070orm", 1, -1, 1)
    Kontrol = Replace(Kontrol, "on", "&#111n", 1, -1, 0)
    Kontrol = Replace(Kontrol, "ON", "&#079N", 1, -1, 0)
    Kontrol = Replace(Kontrol, "On", "&#079n", 1, -1, 0)
    Kontrol = Replace(Kontrol, "on", "&#111n", 1, -1, 1)
    Kontrol = Replace(Kontrol, "or", "&#111r", 1, -1, 0)
    Kontrol = Replace(Kontrol, "OR", "&#079R", 1, -1, 0)
    Kontrol = Replace(Kontrol, "Or", "&#079r", 1, -1, 0)
    Kontrol = Replace(Kontrol, "or", "&#111r", 1, -1, 1)
    Kontrol = Replace(Kontrol, "document.cookie", "&#068ocument.cookie", 1, -1, 1)
    Kontrol = Replace(Kontrol, "javascript:", "javascript ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "vbscript:", "vbscript ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "SELECT", "&#83elect ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "DROP", "&#68rop ", 1, -1, 1)
    Kontrol = Replace(Kontrol, ";", "&#59 ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "--", "&#45- ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "INSERT", "&#73nsert ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "DELETE", "&#68elete ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "xp_", "&#120p&#95 ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "UNION", "&#85nion ", 1, -1, 1)
    Kontrol = Replace(Kontrol, "'", "`")

    End Function
    %>
  • 16-01-2010, 23:52:17
    #3
    belki çoğu kişi biliyordur ama
    eğerki access veri tabanı kullanıyorsanız veri tabanınızın soınuna "#" işaretini koyarsanız
    veritabanınız indirilemez duruma gelir.
  • 17-01-2010, 10:12:11
    #4
    Üyeliği durduruldu
    bilgileriniz için teşekkürler akadaşlar
  • 23-01-2010, 13:26:36
    #5
    cagllar adlı üyeden alıntı: mesajı görüntüle
    belki çoğu kişi biliyordur ama
    eğerki access veri tabanı kullanıyorsanız veri tabanınızın soınuna "#" işaretini koyarsanız
    veritabanınız indirilemez duruma gelir.
    access kullanmıyorum ama bunu bilmiyordum bir şey daha öğrendik
  • 25-01-2010, 03:29:41
    #6
    Üyeliği durduruldu
    DDos koruması en önce gelir ddos koruması için

    <%
    if session("x")=""  Then
    session("x")=0
    else    
    session("x")= session("x") + 1
    end if   
    if cint(session("x"))> 6  Then
    session.TimeOut=1 
    response.redirect("default.asp?ddos=evet")
    response.end
    end if
    %>