SQL İnjection Nedir?
SQL (Structured Query Language)
SQL İnjection dünya üzerinde en çok ilgi görev Web Uygulama zaafiyetidir. Sitelerdeki SQL veritabanına odaklı bir saldırı çeşididir. Kaba tabirle SQL veritabanının çalıştıracağı SQL komutlarıyla, SQL İnjection zaafiyeti bulunan bir sitedeki veri geçişini kullanarak kendi mevfaatlerimiz çerçevesinde hedef veriyi çalmak için kullanılır.
SQL İnjection’un Mantığı Nedir?
Deminde bahsettiğim gibi SQL Veritabanı odaklı bir zaafiyet olduğu için direk veritabanıyla ilgili saldırılar yapılır. Yani bize gerekli olan biraz SQL Komutu bilmektir. Akılda kalıcılık açısından komik bir örnek vereyim ;
Bir HEDİYE kutusu var. O hediye kutusunun içerisinde hediyenin olduğunu düşünelim. Kutuyu açtınız ve baktınız ki içerisinde bir kutu daha var. Onu da açtınız onun içerisinde de bir kutu var onu da açtıktan sonra son kutumuza geliyoruz. O kutunun içerisinde hediye yani hedef verimiz mevcuttur.
Temel SQL Komutlarını Tanıyalım.
SQL İnjection saldırısında bulunurken ne kadar SQL Komutunu tanıyorsanız o kadar iyidir. Çünkü
SQL İnjection saldırısını yaparken SQL Komutlarını kullanırız.
SELECT - Veri seçmek için
CREATE - Tablo yaratmak için
INSERT - Tablo eklemesi yapmak için
UPDATE - Veri güncelleme
DELETE - Veri silmek
DROP - Tablo silmek
FROM - (- den , - dan , beri )
WHERE - Nereden, neresi, nerede
-Bunları bilmekte fayda var..
4- SQL İnjection ile Neler Yapılabilir?
SQL İnjection saldırısı ile veri silebilir, ekleyebilir, değiştirebiliriz. Bunları yapmak için sistemde birkaç iznimizin olması gerekiyor. Yani sistem bize veri silme ekleme yetkisi vermiyorsa biz zaten bunları yapamayız. SQL İnjection saldırısı çoğunlukla hedef sistemin yönetici şifresini ele geçirerek sisteme yönetici gibi giriş yapıp sistemi hacklemek için kullanılır. Ama ne yazık ki SQL İnjection saldırısı ile yapabileceklerimizin sadece bunlarla sınırlı olmadığını çoğu kişi bilmiyor.
SQL İnjection 1. Ders sonu…
ROOT TR