Injection Flaws C#

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
Dinamik SQL sorgularının kullanıldığı sistemlerde oluşabilecek bir açıktır.


Bir kullanıcı adı parola sınaması yapılan SQL cümleciğinde kullanılabilir.


PHP:
Select MemberID From Member  Where Username = '" + txtUsername.Text + "' and Password = '" + txtPassword.Text + "'"


PHP:
txtUsername.Text : ' or 1=1 --  txtPassword.Text : 123


PHP:
Select MemberID  From Member  Where Username = '' or 1=1 -- ' and Password = '" + txtPassword.Text + "'"


-- ifadesi SQL Server için yorum satırı anlamına geldi için çalıştırılmaz.


Where ifadesini inceleyelim :


Username = '' false döner, 1 = 1 ise true. Or karşılaştırmasında ise False or True’nun sonucu true’dur. Dolayısıyla doğru kullanıcı adı parola girilmese dahi geriye tüm kayıtlar döner ve saldırgan ilk kaydın yetkisi ile içeriye giriş yapmış olur.


Saldırgan “SQL Injection” yöntemi ile veritabanı hakkında daha detaylı bilgi edinebilir. SQL Server üzerinde System Administrator hesabı açabilir, Tüm Tabloların listesini ve bu tabolardaki bilgilere ulaşabilir. Hatta web uygulaması sa yetkisine sahip bir kullanıcı ile çalıştırılıyorsa xp_cmdshell ‘format C:’ ile sisteme format bile atabilir.



Dinamik SQL sorgularındaki bu içeri sızmaları engellemenin yolu parametre kullanmaktır.


Bunu SqlCommand nesnesine SqlParameter tipinde parametre ekleyerek yapabiliriz.



PHP:
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();
 

DarK

< MasaLFM.Net >
Forum Üyesi
Katılım
1 Nisan 2019
Mesajlar
616
Tepkime puanı
0
emeğine yüreğine sağlık
 

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş