Her webmaster, coder sitesini yazarken belirli bir şifreleme kullanır. Genellikle bu md5 tir. Şifreler db ye md5 lenmiş halde gider. Böylece db ye yönelik bir saldırıda şifreler hala güvende kalır. Fakat şunu atlıyoruz. Yani şifreler yolda giderken saldırıya uğrarsa?
Hiçbirimiz şunu unutmamalıyız ki zırhlı bir aracın en güvensiz olduğu yer yol üstünde giderken ki halidir. Çünkü bir eylem içinde ve etrafını kontrol edemiyor. İşte sql injection ( ben kısaca sj diyeyim ) böyle bir saldırıdır. Bizim html veya php olan giriş sayfamıza yapılır.
Sj de bu dinamiklikten yararlanır ve bizi aynı kodlarla hataya düşürür. Sj direk bir hack yöntemi değildir.
Şöyle örnek vereyim maçlarda oyuncu pres yaparsa karşısındaki hataya zorlanır ve genelde hata yapar. İşte sj de böyledir.
Peki Biz Bundan Nasıl Korunacağız ?
Alt bulunan kodu config bilgilerini girdiğimiz dosyanın en altına yapıştırmamız yetecektir. Peki bu alttaki kod nasıl SQL İnj açığından Korunmamızı sağlıyor?
GET Methodu ile gelen bütün verileri kontrol ediyor, ve $priv8 İçindeki array’ler var mı yok mu kontrol ediyor…
EKLENECEK KOD:
$priv8 = array ('select', 'insert', 'delete', 'update', 'drop table', 'union', 'null', 'SELECT', 'INSERT', 'DELETE', 'UPDATE', 'DROP TABLE', 'UNION', 'NULL','order by','order by'); for ($i = 0; $i < sizeof ($_GET); ++$i){ for ($j = 0; $j < sizeof ($inj); ++$j){ foreach($_GET as $gets){ if(preg_match ('/' . $priv8[$j] . '/', $gets)){ $temp = key ($_GET); $_GET[$temp] = ''; exit
Config dosyasının altına eklemeniz yetecektir.
Yorum Gönder