Sql Injection için basit bir beyaz liste uygulaması

by Necat Bolpaça 8. March 2008 10:27

Birkaç gün önce yazdığım uygulamalardan birinin kod arka planında "Sql Injection" adı verilen sızmaya karşı açık bırakmış olduğumu anladım. Yaptığım denemeler sonucu Stored Procedure kullanmak dahi %% arasına yazdığım karakterin sql injection açığını meydana getirmesine engel olamıyordu. Çareyi şöyle ufak bir süzgeç hazırlayıp, sadece belli karakter ve sayı aralıklarına izin vermekte buldum.

using System.Text.RegularExpressions;
public class SqlInjection{
    public static bool InjectionWhiteList(string s)
    {
        Regex rx = new Regex(@"^[A-Za-z0-9\sğüşıöçĞÜŞİÖÇ]+$");
        return rx.IsMatch(s);
    }
}

Her ne kadar eski klasik ASP günlerini hatırlatsa da, dinamik arama sorgusu oluştururken bunu engellemenin daha pratik bir yolunu bulamadığım için, bunu kullanmaya devam edeceğim bir süre.

Tags: , ,

Güvenlik | Türkçe

Month List

Visitors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in  anyway.

--

Bu sitede yazılı olanlar kendi kişisel görüşlerimdir işverenlerimi ve benimle birlikte çalışanları temsil etmemektedir.