anov
Çokca bahsedeceksiniz :-)

Sql Injection için basit bir beyaz liste uygulaması

March 8, 2008 04:27 by anov

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.


Currently rated 4.8 by 5 people

  • Currently 4.8/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Comments

March 15. 2008 10:50

"Her ne kadar eski klasik ASP günlerini hatırlatsa da"

Way be demek ASP bu denli eskidi ha Laughing

Ali KARA

May 25. 2008 21:03

Regexp soğuttu beni tüm muhabbetten, cidden severek kodlayan varmıki bunu?

İhsan Dişkan

Add comment


 

biuquote
  • Comment
  • Preview
Loading