SQL Injection Nedir?

SQL Injection Nedir?

SQL Injection veritabanına halihazırda gönderilen sorguyu bypass ederek, saldırganın kendine özgü sorgusunu veritabanına göndermesiyle gerçekleşen bir saldırı türüdür. Bu saldırı SQL cümlesinin arasına dışarıdan değer girilmesine kontrolsüz izin veren sitelerde gerçekleşir.

Oturum açma formunu baz alarak ufak bir örnekle anlamaya çalışalım.

Sql Injection açığı olan bir admin paneli olsun.

Arka planda dönen sorgu normal şartlarda aşağı yukarı şöyle olacaktır.
SELECT * FROM kullanicilar WHERE user=’admin’ AND password=’sifre’

kullanıcı adı ve şifre kutularına ‘ or 1 = 1 yazdığımızda yeni şekillenecek sql sorgusu aşağıdaki gibi olacaktır.

SELECT * FROM kullanicilar WHERE user=’‘ or 1 = 1’ AND password=’‘ or 1 = 1

SQL’e ulaşan bu sorguyu yorumlarsak kullanicilar tablosundan kullanıcı adı ve şifre boş veya 1  1’e eşitse(bir bire eşitsedeki kasıt 1’in 1’e eşitliği ile doğruluk sağlamak) bu şarta uyan kayıtları geri dön. Bu sorgu ile kullanicilar tablosundan tüm kayıtlar geri dönecektir ve sistem başarılı giriş olarak algılayacaktır.

SQL injection sadece bu yapıda gerçekleşemeyeceğini unutmayın. Sistemin mevcut açığında farklı sorgularla farklı sızma yöntemleri yapılabilir. Çoğu zaman injection açığı olan veritabanları tamamen korumasız halde ve bilgi hırsızlığına açık haldedir. Bu nedenle bu açığı üst seviye bir açık olarak nitelendirebiliriz.

Ayrıca bu yazımızda SQL injection aracı olan SQLMap anlatılmaktadır.

Benzer Yazılar
Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir