• 30-06-2010, 04:24:16
    #10
    Üyeliği durduruldu
    admini silerek çözdümm olayı geçici olarak yardımcı olan arkadaşlara teşşekur ederim.

    admin uzuntısını bulabiliyor ama admine girmiyor girse siteyi dağıtacak. sadece mdb dosyasından yada adminde nasıl yapıyorsa duyurular bölümüne yönlendirme kodu ekliyor. şuan admin olmadığı için yapamıyor.
    ayrıca herzaman lazım olacağı için aşağıdaki kodu nereye ekleyecem onu bilmiyorum. forumda bu konu ile ilgili konular okudum anlamadım.
    HayroLa adlı üyeden alıntı: mesajı görüntüle
    <%
    id = Request.QueryString("id" )
    if Not IsNumeric(Request.QueryString("id" ) ) then
    response.redirect("default.asp")
    end if
    %>

    bu şekil korunabilirsin..
    yada bu kodu

    tolgasen adlı üyeden alıntı: mesajı görüntüle
    ASP veya bir başka dil farketmez. Mantık aynı. Normalde ID gelmesi gereken yere select komutu uygularsın ve injection yapmış olursunuz. ID normalde integerdir. Yani sayısal değer alır.

    Link: sayfa.asp?id=1 şeklindedir ve bu HayroLa arkadaşın verdiği kodla normal olarak çalışmasını devam ettirecektir. Çünkü 1 Numerictir. Injection yaparken link şu şekilde değişiecektir;

    sayfa.asp?id=-1 union+select+0+from+admin gibi...

    Kalın çizdiğim yerler numeric'e girmiyor. Arkadaşın verdiği kodda ID numeric değilse yönlensin diyor ve normal bir koruma yapıyor. En basitiyle bu şekilde korunulunabilir. Ama yok ben illa fonksiyon yazıcam öyle korunucam derseniz;

    <%
    Function inject(Str)
    Str = Replace(Str, "*", "[YASAK]",1,-1,1)
    Str = Replace(Str, "=", "[YASAK]",1,-1,1)
    Str = Replace(Str, "<", "[YASAK]",1,-1,1)
    Str = Replace(Str, ">", "[YASAK]",1,-1,1)
    Str = Replace(Str, ";", "[YASAK]",1,-1,1)
    Str = Replace(Str, "(", "[YASAK]",1,-1,1)
    Str = Replace(Str, ")", "[YASAK]",1,-1,1)
    Str = Replace(Str, "+", "[YASAK]",1,-1,1)
    Str = Replace(Str, "#", "[YASAK]",1,-1,1)
    Str = Replace(Str, "'", "[YASAK]", 1, -1, 1)
    Str = Replace(Str, "&", "[YASAK]", 1, -1, 1)
    Str = Replace(Str, "%", "[YASAK]", 1, -1, 1)
    Str = Replace(Str, "?", "[YASAK]", 1, -1, 1)
    Str = Replace(Str, "´", "[YASAK]", 1, -1, 1)
    Str = Replace(Str, ",", "[YASAK]",1,-1,1)
    Str = Replace(Str, "UNION", "[YASAK]",1,-1,1)
    Str = Replace(Str, "SELECT", "[YASAK]",1,-1,1)
    Str = Replace(Str, "WHERE", "[YASAK]",1,-1,1)
    Str = Replace(Str, "LIKE", "[YASAK]",1,-1,1)
    Str = Replace(Str, "FROM", "[YASAK]",1,-1,1)
    Str = Replace(Str, "UPDATE", "[YASAK]",1,-1,1)
    Str = Replace(Str, "INSERT", "[YASAK]",1,-1,1)
    Str = Replace(Str, "ORDER", "[YASAK]",1,-1,1)
    Str = Replace(Str, "GROUP", "[YASAK]",1,-1,1)
    Str = Replace(Str, "ALTER", "[YASAK]",1,-1,1)
    Str = Replace(Str, "ADD", "[YASAK]",1,-1,1)
    Str = Replace(Str, "MODIFY", "[YASAK]",1,-1,1)
    Str = Replace(Str, "RENAME", "[YASAK]",1,-1,1)
    Str = Replace(Str, Chr(39), "[YASAK]", 1, -1, 1)
    If InStr(1,Str,"[YASAK]",1) then
    Response.Redirect "/Default.asp"
    end if
    inject = Str
    End Function
    %>
    şeklinde fonksiyon oluşturur,

    inject(Request.QueryString("id")) olarak veriyi çektiririz. Buda fonksiyonla koruma sağlar.


    bu kodu yada veya verdiğiniz diğer kodu nereye ekleyecem onu bilmiyorum asp ye çok yabancıyım. sorunu kökten halletmem için bu kodlar gerekli anladığım kadarıyla.
    birde ip si var elimde ip banlayabilirmiyim.
    şimdiden teşekkur ederim.
  • 30-06-2010, 07:23:09
    #11
    🌐 𝘀𝗼𝗰𝗶𝗳𝗹𝘆.𝗰𝗼𝗺
    Hocam verdiğim fonksiyonu tek tek uyarlamanız gerekmekte ama HayroLa adlı arkadaşın verdiği kodu her sayfanın başına koyarsanız size koruma sağlar.
  • 02-07-2010, 17:11:59
    #12
    Üyeliği durduruldu
    teşekkur ederim arkadaşlar sorunumu hallettim sayenizde. şuanda flood mesaj göndererek veri tabanına aşırı yük bindiriyor ve sitem kapanıyor. güvenlik kodu yapmayı denedim , bir çok güvenlik kodu ekledim ama başarılı olmadım. bilgisi olan arkadaşlar bu konuda yardımcı olurlarsa çok sevinirim. şimdiden teşekkur ederim.
  • 02-07-2010, 21:00:58
    #13
    🌐 𝘀𝗼𝗰𝗶𝗳𝗹𝘆.𝗰𝗼𝗺
    Formun linkine &SID=<%=Session.SessionID%> ekleyin.

    Verilerin kayıt edildiği yeride şu şekilde düzene sokun.

    if Request.QueryString("SID") = Session.SessionID then
    Kayıt kodları
    else
    Response.Write "Hata Oluştu."
    end if
  • 02-07-2010, 23:43:58
    #14
    If Request.QueryString("GelenKATID") <> "" Then
    If Not IsNumeric(Request.QueryString("GelenKATID")) Then
    Response.Write("SQL Injection Atağı Tespit Edildi!")
    Response.End()
    End If
    End If
  • 03-07-2010, 01:21:44
    #15
    Üyeliği durduruldu
    site forum değil veri tabanına kayıt olan dosyaya onu ekliyorum. ama olmuyor , link yeri yok yani bulamadım.
  • 03-07-2010, 01:30:40
    #16
    🌐 𝘀𝗼𝗰𝗶𝗳𝗹𝘆.𝗰𝗼𝗺
    Forumun değil form tagının linkine ekiceksiniz.

    <form action="link&kodlar" method="post"> olan yere
  • 03-07-2010, 02:41:32
    #17
    Üyeliği durduruldu
    tşk ederim cevabınız için ama yapamadım.