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.
Classic ASP SQL Injection Sorunu
6
●853
- 20-07-2016, 00:05:45Querystringler 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:34:40formlar için varsa paylaşabilir isen sevinirim hocam querystringler için fonksiyonumu kullanıyorum.tolgasen adlı üyeden alıntı: mesajı görüntüle
- 20-07-2016, 00:48:54For Each formItem In Request.FormInternetabi adlı üyeden alıntı: mesajı görüntüle
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.