Tweet

Ana Sayfa   Forum   ASP
Yeni Başlık Cevap Ekle
white_bullet Sql İnjection (22/10/2008 23:30)
profil Oguzz
 offline OFFLINE
 Senior Coder

Sql injection son zamanların popüler açıklarından birtanesi.Gerek asp,gerek php olmak üzere çok sık bırakılan bir açık türüdür.Adındanda anlaşılacağı üzere sql cümlelerinin enjekte edilerek değer döndürmesi anlamına geliyor.Veritabanından yaptığımız her sorguda sql karakterlerini filtreye sokup temizleyerek dahil etmemiz gerekir.Aksi taktirde index.php?id=2 gibi bir parametreden yazılacak sql sorgusu veritabanı tarafından işletilir ve size geri döndürülür.Bundan faydalanmak isteyen bir kişi veritabanınızdaki kullanıcı adı şifrelere yahut başka bilgilere ulaşmak isteyecektir.İşte bunun önüne geçmek için bir fonksiyon yazıyoruz bu fonksiyon ile bu karakterleri filtreliyoruz.Sorgularınızda bu fonksiyonu dahil ederseniz dış tehtitlerin bir nevze önüne geçmiş olursunuz.

CODE:

<%
sql injection filter

function temizle(sifreniz)
sifreniz = Replace (sifreniz ,"`","")
sifreniz = Replace (sifreniz ,"=","")
sifreniz = Replace (sifreniz ,"&","")
sifreniz = Replace (sifreniz ,"%","")
sifreniz = Replace (sifreniz ,"!","")
sifreniz = Replace (sifreniz ,"#","")
sifreniz = Replace (sifreniz ,"<","<")
sifreniz = Replace (sifreniz ,">",">")
sifreniz = Replace (sifreniz ,"*","")
sifreniz = Replace (sifreniz ,"And","")
sifreniz = Replace (sifreniz ,"'","")
sifreniz = Replace (sifreniz ,"Chr(34)","")
sifreniz = Replace (sifreniz ,"Chr(39)","")
temizle=sifreniz
end function

sifreniz = temizle(sifreniz)
%>

________________________________________________________________________________

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "[ ConnectionString ]";
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = " Select MemberID"
+ " From Member"
+ " Where Username = @username and Password = @password";
cmd.Parameters.AddWithValue("@username",txtUsername.Text);
cmd.Parameters.AddWithValue ("@password",txtPassword.Text);
conn.Open();
int MembetID = Convert.ToInst32(cmd.ExecuteScalar());
conn.Close();

Yöntem basit zararlı karakterleri temizliyoruz replace ederek.Gözden kaçırılan bir açıktır.Kolay gelsin..

just code it!

Üye Profili

white_bullet Re:Sql İnjection (24/10/2008 20:53)
profil M.Akif
 offline OFFLINE
 Coder

Sağol güzel konu :)

[IMG SRC="http://sdu.ictp.it/os/img/ubuntu_logo.jpg" ALIGN="CENTER"]M.Akif[/IMG]
Destekleneler :
Yazıyok Blog
M-Akif.net




What is a problem ?

profil

white_bullet Re:Sql İnjection (23/06/2009 09:59)
profil ahmetC0d3r
 offline OFFLINE
 Active Coder

guzeLLL

profil

white_bullet Re:Sql İnjection (25/07/2009 10:42)
profil The.Morpheus
 offline OFFLINE
 Desirous Coder

guzelde Bazı hackerler Bununlada yetinmio :D

profil

white_bullet Re:Sql İnjection (25/07/2009 17:26)
profil Oguzz
 offline OFFLINE
 Senior Coder

Elbette daha farklı yöntemler ile sistemlere sızılabilir, programcıların bu konuda bilinçlenmesi ve güvenli kod yazmanın temel ilkelerini benimsemeleri gerekir. Bunun içinde herkesin tahmin edebileceği gibi saldırmayı öğrenmeden savunma yapamazsınız diyerek sadece üstün körü kendinizi kod yazmaya vermeyin diyorum. Güncel açıkları takip etmek gerekli.

just code it!

profil

white_bullet Re:Sql İnjection (03/05/2010 18:21)
profil kicker
 offline OFFLINE
 New Coder

teşekkürler :)

profil
 
1 /
 
Ana Sayfa   Forum   ASP
Yeni Başlık Cevap Ekle
 

MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg