Forum

SQL Injection Saldı...
 
Bildirimler
Hepsini Temizle

SQL Injection Saldırılarına Önlem

5 Yazılar
3 Üyeler
0 Reactions
453 Görüntüleme
(@AzatMETiN)
Gönderiler: 4
Active Member
Konu başlatıcı
 

merhaba,

SQL Injection saldırıları ile neredeyse
herkesin başı dertte. büyük sistemler SQL Injection ile çok kolay hacklenebilmektedirler. bende bir nebzede olsa kabak gibi duran
SQL Injection saldırısını önlemeyi anlatacağim.

Örnek olarak bir sorgu alalım ben projelerimde kullandıgım değerlerden örnek vereceğim.

 $_POST'a gelen değerler çok önemlidir çünki mysqldeki değerler ile karşilaştirilacaktir..

$sifre=$_POST['sifre']);

$sifre=mysql_query("select * from yonetici where `id`='$sifre'");

mysql_num_rows($kontrolet) 

 

Böyle birşey kullanmak tamamen bir hatadır çünki SQL Injection yapacak arkadaşin ` işareti olusturmasina gerek

bırakmadiniz. böylece SQL ınjection saldırıları ile USER ve PASSWORD

bilgileriniz SQLden çekilebilir bunu önlemek ise basittir.

 

$sifre=$_POST['sifre']);

$sifre=mysql_query("select * from yonetici where id='$sifre'");

mysql_num_rows($kontrolet) 

 


böyle yapildiği taktirde SQL açiği oluşması için `gerekliliğini
belirttik..` önlemek için $_POST a bunları yapmak yeterli olacaktir.

 

$sifre=mysql_real_escape_string(htmlspecialchars($_POST['sifre']));

$sifre=mysql_query("select * from yonetici where id='$sifre'");

mysql_num_rows($kontrolet) 

 

mysql_query de id sifre karşilaştirmasini böyle yaparsak arkadaşın ` işareti olusturması kosulunu koyarız. daha sonra mysql_real_escape_string fonksiyonu kullandiğimiz için arkadaş ne zaman ` oluşturmaya kalksa hata ile karsılasacaktir.

saygılar.

 
Gönderildi : 27/09/2012 05:07

(@davuteren)
Gönderiler: 1583
Noble Member
 

bilgi için teşekkürler

 
Gönderildi : 27/09/2012 11:09

(@AzatMETiN)
Gönderiler: 4
Active Member
Konu başlatıcı
 

bilgi için teşekkürler

işinize yaradıysa ne mutlu bana.

 
Gönderildi : 27/09/2012 16:38

(@ertanerbek)
Gönderiler: 4522
Famed Member
 

Hocam buakdar kasmaya gerek yok gibime geliyor empty string ve en fazla deneme değeri ile bu iş daha kolay çözülür.

 
Gönderildi : 29/09/2012 00:12

(@AzatMETiN)
Gönderiler: 4
Active Member
Konu başlatıcı
 

Hocam buakdar kasmaya gerek yok gibime geliyor empty string ve en fazla deneme değeri ile bu iş daha kolay çözülür.

 

benim gibi paranoyak güvenlikçiler için string yeterli olmuyor hocam. 🙂

 
Gönderildi : 29/09/2012 01:12

Paylaş: