• 15-07-2016, 08:47:53
    #1
    Merhaba arkadaşlar,

    Büyük bir sitemiz var. Classic ASP ile yazılmış. Kodlama kalitesinden hiç bahsetmeyeceğim zaten. Geçenlerde SQL inject yemiş. Menü kodlarını silinmişti. Düzelttim ama sağolsun iyi niyetli arkadaş yine sql inject atıp açıklarınızı kapatın yazmış. Siteyi açık açık veremeyeceğim. Yardımcı olacak arkadaşlara pm ile verebilirim. Bu sorunu nasıl düzeltebilirim. Classic ASP hiç bilmiyorum ve kullanmadım.
  • 16-07-2016, 14:09:18
    #2
    Şu cevaptaki fonksiyonu kullanabilirsiniz. Request.QueryString ve Request.Form metodlarına uygulamanız gerekiyor.

    Örnek kullanım: id = SQLInject(Request.QueryString("id"))
  • 20-07-2016, 00:05:45
    #3
    Querystringler için aşağıdaki fonksiyonu kullanabilirsiniz.

    '************************************************* **************
    Dim Web_SqlInject
    Web_SqlInject = "select,insert,update,delete,having,',+,union,`,<, >,database,md5,substring,drop,SELECT,INSERT,UPDATE ,DELETE,HAVING,UNION,DATABASE,MD5,SUBSTRING,DROP,% 27,[query]"

    '************************************************* **************


    '************************************************* **************
    Dim qstr
    qstr = request.servervariables("QUERY_STRING")
    If isSQLInject(qstr) = True Then
    response.redirect "https://www.xxx.com/"
    End If

    '************************************************* **************
    Function isSQLInject(StrPara)
    isSQLInject = False
    If IsNull(StrPara) Then Exit Function
    SqlInject = Split(Web_SqlInject, ",")
    For ik = 0 To UBound(SqlInject)
    If InStr(LCase(StrPara), LCase(SqlInject(ik))) <> 0 Then
    isSQLInject = True
    Exit For
    End If
    Next
    End Function
    '************************************************* **************
  • 20-07-2016, 00:23:40
    #4
    🌐 𝘀𝗼𝗰𝗶𝗳𝗹𝘆.𝗰𝗼𝗺
    Siteniz nedir? PM atarsanız 3 satır kod ile çözelim. Tek tek bütün queryleri düzeltmen çok zamanını alır.
  • 20-07-2016, 00:34:40
    #5
    tolgasen adlı üyeden alıntı: mesajı görüntüle
    Siteniz nedir? PM atarsanız 3 satır kod ile çözelim. Tek tek bütün queryleri düzeltmen çok zamanını alır.
    formlar için varsa paylaşabilir isen sevinirim hocam querystringler için fonksiyonumu kullanıyorum.
  • 20-07-2016, 00:48:54
    #6
    🌐 𝘀𝗼𝗰𝗶𝗳𝗹𝘆.𝗰𝗼𝗺
    Internetabi adlı üyeden alıntı: mesajı görüntüle
    formlar için varsa paylaşabilir isen sevinirim hocam querystringler için fonksiyonumu kullanıyorum.
    For Each formItem In Request.Form
    If isSQLInject(formItem) = True Then
    Response.Redirect "https://www.xxx.com/"
    End If
    Next

    Sayfanın en üstüne koyman yeterli hocam. Senin fonksiyonuna göre yazdım.
  • 21-07-2016, 01:18:05
    #7
    Bu sorunu Microsoft'un web.config ayarları ile çözmesi gerekiyor aslında. Milleti uğraştırıp duruyorlar yıllardır. Belki de vardır bununla ilgili bir şey de biz bilmiyoruzdur.