Hakkında : SQL Injection her türlü uygulama-veritabanı ilişkisine sahip her sistemde bulunabilir. Popülerliğini kaybetmek üzere olan bir açık. Bu açıktan korunmak geliştiricinin görevidir. SQL Injection saldırıyı yapan kişinin query i kırması sonucunda meydana gelmektedir.
Örnek Saldırı : Query şu şekilde olsun ;
select * from users where username=’#username#’ and password=’#password#’
Bu sorgudan sonra gelen veri boş ise giriş yapılmasın username ve password değişkenleri textbox dan gelmiş olsun. Buna göre ; gelen veri dolu ise, boş değil ise kullanıcı giriş yapmış olsun. Kullanıcının textbox a ‘or 1=1 girdiği varsayalım, gelen değerlere göre sorgunun son hali şöyle olacak;
select * from users where username = ‘’or 1=1 and password=’’ or 1=1
Görüldüğü üzere, sql sorgumuz çatladı. Saldırgan kişinin istediği şekli aldı ve giriş yaptı.
Diğer bir saldırı da linklerden gelen saldırılardır. Bunların da çalışma mantığı aynıdır.
Önlem :
- Parametrik sorgu kullanılmalı.
- Linkten gelen anahtar kelimeler (select,insert,update,delete,union,where,*,@@) engellenmeli.
Information Leakage (Bilgi sızdırma)
Uygunsuz hata yönetimi sonucunda ortaya çıkar. Örneğin : Kullanıcı giriş panelinde, “Kullanıcı adı veya şifre hatalı” mesajı yerine “Yanlış şifre girdiniz.” Hatası verilmesi gibi. Böyle bir hatada saldırı yapan kişi kullanıcı adını tutturduğunu anlar, kullandığı araç var ise bu aracı, şifreyi deneme amaçlı kullanarak zaman kazanabilir ve amacına ulaşmada önemli yol kat etmiş olur. more »



Merhaba bu dökümanımda siteniz güvenliğini en üst düzeye çıkarma ile ilgili bilgiler vericem. %100 güvenlik diye birşey yoktur görüyorsunuz ki yüzbinlerce dolarlık sistemler bile hackleniyor. Bahsedeceğim yöntemler sadece sisteme izinsiz girişleri en aza indirip, engellemektir.