porno
Gündem

SQL Injection Nedir? ( halk dilinde “HACKLEME”)

SQL Injection Nedir? ( halk dilinde “HACKLEME”)

Web sitelerinin büyük bir çoğunluğunda,bilindiği gibi sayfayı dinamik tutmak için veritabanlarından yararlanılır. Güncel veritabanı yazılımlarında birçoğunda SQL (Structured Query Language) denilen ortak bir dil kullanılır.
SQL Injection da SQL sorgularının amacına müdahale ederek farklı bilgileri elde etmeye denir.

Yani SQL Injection yöntemi ile üye bilgileri, yönetici şifreleri gibi veritabanında bulunup herkese açık olmayan bilgiler elde edilebilir.

SQL Injection kullanılarak Yahoo! gibi büyük internet sitelerinin bile veritabanları ele geçirilmiştir.

SQL Injection Nasıl Yapılır?

Örneğin SQL kullanan bir siteye Teknodos 123 kullanıcı adı ve şifresiyle giriş yapıyorsunuz. Giriş butonuna tıkladığınız anda sitenin yazılımı veritabanına aşağıdaki gibi bir sorgu gönderecektir:

SELECT * FROM kullanicilar WHERE isim=’Teknodos’ AND sifre=’123′

Veritabanında sonuç bulunursa girişinize izin verecek, bulunamazsa izin vermeyecektir. Bir de kullanıcı adı ve şifre alanına ‘ OR” 1=1 — yazdığımızda gönderilecek olan sorguya bakalım:

SELECT * FROM kullanicilar WHERE isim=”OR 1=1 –‘ AND sifre=”OR 1=1 –‘

Yukarıdaki sorgu gönderilecektir. Eğer yazılım girdileri filtreliyorsa SQL injectionu engelleyip girişinize izin vermeyecek, filtrelemiyorsa kullanıcı adı ve şifrenizi doğru zannedip girişe izin verecektir.

‘ OR 1=1 — SQL dilinde her zaman true döndürür (olumlu ve doğru sonuç döndürür). Bu yüzden SQL programı bütün kayıtları listeleyeceğinden, yazılım doğru giriş yapıldı zannedecektir. “‘ OR 1=1 –” ifadesi, önceki koşul gerçekleşmese bile boş ver, 1=1 gerçekleşiyorsa true döndür ve sorgunun geri kalanını boş ver (– yorum anlamına geldiğinden sorgunun kalanı yorummuş gibi algılanır) demektir..

SQL Injection’dan Nasıl Koruma Sağlanır?

Kullanıcıdan alınan her veride ‘ ve ” karakterleri getirilerek korunulur. Bu karakterler ya karakter koduna çevrilmeli, ya da başına \ yani kaçırma karakteri eklenmelidir. Bu durumda SQL programı o karakterleri komut olarak algılamayacaktır.

Yorum Yaz

Yorum yazmak için tıklayın