KULLANICI ADI : ŞİFRE Şifremi Unuttum*

Anasayfa İLLEG4L BANK KREDİ SATIN AL İLLEG4LİZM RAP Sub Domain Bulucu Arama Yap Yeni Konular Bugünki Konular

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Sql injection nedir ? nasıl yapılır?
Konu : Sql injection nedir ? nasıl yapılır? - 02.02.2015, 23:52
Mesaj: #1
Sql injection, Sql sorgularının arasına dışarıdan müdahale de bulunarak, veri ekleme işlemine verilen genel isimdir. Web uygulamalarında kullanıcılar tarafından girilen veriler ile dinamik Sql cümleleri oluşturulur. Bu cümleler oluşturulurken araya giren herhangi bir meta-karakter Sql injection’a neden olabilmektedir.



Meta-karakter; bir program için özel anlam ifade eden karakterlere verilen isimdir. Mesela JAVA’daki “\\” bir meta-karakterdir ve derleyici ya da yorumlayıcı bu karakteri gördüğünde ondan sonra gelen karakteri bu meta-karaktere göre işler. Sql için ise meta-karakter " ‘ " (tek tırnak) ve " ; " (noktalı virgül) dür.



Sql injection Nasıl Yapılır?

Örneğin, en çok kullanılan yöntem bir sisteme Kullanıcı Adı ve Parola ile giriş yaparken kullandığımız yöntemdir.



select * from Uzmanim

where KullaniciAdi = ’uzman’ AND Parola = ’uzmanim’



Verileri girdikten sonra yukarıdaki şekilde bir Sql cümlesi oluştururuz. Eğer veritabanında böyle bir kayıt varsa Sql cümlesi o kaydı döndürür ve sisteme giriş sağlanır. Eğer kayıt yoksa kullanıcıya hata mesajı gösteririz.



Bu örnek Sql kodu klasik bir oturum açma yöntemidir. Bu örnek üzerinde basit bir sql injection deneyelim. Öncelikle KullaniciAdi yerine " ‘ or 1 = 1 " , Parola yerine ise " ‘ or 1 = 1 " girelim. bakıyoruz ki sisteme giriş yapımışız. Şimdi koda yakından bakarak nasıl olduğunu inceleyelim. Girdiğimiz değerleri Sql kodunda yerlerine koyarsak karşımıza şu şekilde bir kod çıkar.



select * from Uzmanim

where KullaniciAdi = ’ ’ or 1 = 1 ’ and Parola = ’ ’ or 1 = 1 ’



Sql kodumuzda da görüldüğü gibi bu Sql cümlesi şu şekilde yorumlanacaktır. Uzmanim tablosundan KullaniciAdi alanı boş olanlar ve Parola alanı boş olanları getir veya 1 eşittir 1 olanları getir. Bu Sql cümlesi her zaman doğru dönecek ve Uzmanim tablosundan tüm üyeleri listeleyecektir. Çünkü ilk kontrole bakmaksızın son kontrol (1 eşittir 1 kontrolü) her zaman doğru sonuç verecek ve Sql cümlesi çalışıp, Uzmanim tablosundan tüm üyeler listelenecektir. Böylece dönen kayıtlardaki ilk kullanıcı olarak giriş yapmış olucaksınız. Görüldüğü gibi Sql injection; Sql cümlelerinin arasına dışarıdan müdahale yapılmasına imkan sağlayıp Sql’i istediğiniz şekilde değiştirmenize izin vermektedir.

(Son Düzenleme: 02.02.2015, 23:52, Düzenleyen: Demon.)
WWW Alıntı ile Cevapla


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
hd porno antalya escort türk ifşa porno izle türk ifşa porno samsun escort izmir escort ataşehir escort türk ifşa hd porno