Anasayfa İletişim RSS
 
Şimdi Üye Ol | Şifremi Unuttum
 
Anasayfa » Güvenlik (23 ders)
 
SQL İnjection Korunma Yöntemleri - Asp ile Form Post

Yazar: Ozan Duman  
Eklenme: 15.07.2007   Okunma: 854    Puan: 3.2   Seviyesi:  Orta
Bu Dersimizde bi önceki derste querystring yani get metodundan gelen saldırlardan korunma yöntemini anlatmıştım şimdi ise başka bir yöntem olan form post lardan yapılan injectionlardan korunma yollarını göstereceğim.

İlk olarak bir siteye sql inejection yapabilmek için en gerekli olan en önemli unsur asp sayfamızın sql de işleyeceği veriyi dinamik olarak almasıdır yani kullanıcının müdehale edebileceği imkanlar sağlamasıdır işte böyle durumlarda saldırıdan korunmak için düzenli bir filtreleme uygulamamız gerekmektedir.

Örnek Bir Saldırı:
Bir üye giriş bölümümüz var bu bölüme girişi formlar aracılığı ile sağlıyoruz.
2 adet form alanımız bunlardan biri kullanıcı adı bir diğer ise şifre ve bunlar form aracılığı ile uyekontrol.asp a gönderiyoruz.

verileri request.form ile çekip databasemize sql sorgumuzda kullanıyoruz ve buna göre işlem yaptırıyoruz.

Örnek Kod Cümlesi :
dim uye,sifre
uye = request.form("kullaniciadi")
sifre = request.form("sifre")
"Select * from Uyeler where uye_ad="& uye &" and Uye_pass="& sifre &""


işte bu şekilde oluşturulmuş bir sistem bariz bir şekilde açık barındırmaktadır.
Burada Saldırgan 'or' 'or 1=1 'or''=' gibi cümleciklerle sql cümlemizi bypass etmiş olur.

Korunma Yöntemi :

Bu Tip saldırılardan korunmak için öncelikle sql cümlemizde kullanacağımız veriyi filtreden geçirmemiz lazım bunun içinde bir fonksiyondan yararlanabiliriz.
<%
'/////////////////////////////////////////////////////
'// Güvenlik için girilen karakterleri uygun karakterlere çeviriyoruz
'/////////////////////////////////////////////////////
function OziBABA(sanalkurs)
sanalkurs = Replace (sanalkurs ,"`","",1,-1,1)
sanalkurs = Replace (sanalkurs ,"=","",1,-1,1)
sanalkurs = Replace (sanalkurs ,"&","",1,-1,1)
sanalkurs = Replace (sanalkurs ,"!","",1,-1,1)
sanalkurs = Replace (sanalkurs ,"*","",1,-1,1)
sanalkurs = Replace (sanalkurs ,"/","",1,-1,1)
sanalkurs = Replace (sanalkurs ,"\","",1,-1,1)
sanalkurs = Replace (sanalkurs ,"And","",1,-1,1)
sanalkurs = Replace (sanalkurs ,"'","",1,-1,1)
sanalkurs = Replace(sanalkurs, "-", "")
OziBABA=sanalkurs
end function
%>

Fonksiyonumuz bu bu şekilde gelen verideki tırnak işeratlerini vb karakterleri temizliyoruz.

Bunun kullanımı ise OziBABA(request.form("Gelenveri"))
şeklindedir.

Bu Şekilde form post saldırılarından kurtulabiliriz.

Herhangi bir soru veya şikayetiniz için Ozanduman@yahoo.com.tr mail ve msn adresimi kullanabilirsiniz.
 
  • Currently 3.29/5
Değelendirmek için üye girişi yapmanız gerekmektedir
EkleBunu Sosyal Paylam Butonu
SQL İnjection Korunma Yöntemleri - Asp ile Form Post Dersini Yazdırın

"SQL İnjection Korunma Yöntemleri - Asp ile Form Post" dersi için 2 yorum var

28.05.2008 The End diyor ki:
Ozan bey çook teşekkür ederim makaleniz için gerçekten çoook yararlı bir makale. Ama hala birçok sitede SQL Injection kaynaklı hacklenmeler var. Sizce sebebi ne olabilir?

02.08.2008 ozanduman diyor ki:
yorumun için teşekkürler arkadaşım
şu an hala sql injection yöntemiyle site hacklenmesinin en büyük sebebi webmaster arkadaşların dikkatsizliği ve aceleciliğidir

ayrıca sql injection saldırısı diğer saldırı teknikleri ile birlikte kullanılabilmektedir.

Sitenizin veya sisteminizin tam olarak güvenli olduğundan emin olmanız için bir çok güvenlik taktiğini öğrenmelisiniz.

unutmayınki her gün yeni yeni saldırı yöntemleri çıkıyor

Üye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS'ta yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. SANALKURS'ta yer alan hiçbir makale, yazarından izinsiz başka bir yerde yayınlanamaz. SANALKURS kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu her türlü fikri eser, fotoğraf, resim vb. materyal ve ürünleri kullanamazlar. SANALKURS kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir. Söz konusu haksız kullanım nedeniyle SANALKURS .NET'in hiçbir hukuki sorumluluğu bulunmamakta olup, haksız kullanım nedeniyle SANALKURS.NET'in üçüncü kişilere ödemek zorunda kalabileceği her türlü tazminat ve/veya adli/idari para cezaları ilgili Sanalkurs kullanıcılarından rücu edilecektir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 70 Ziyaretçi, 13 Üye (1 Gizli)
phphack911, kartal66591, tataroza, mahir_1, realite34, dusmevsimi, hayal_gemisi, plus, elbeye, NEVOVA, ahwet, T_a_s_a_r_i_m
BUGÜN DOĞUM GÜNÜ OLAN ÜYEMİZ:
grafikrim (23)
Bugün: 363, Dün: 6623, Bu Ay: 25885, Toplam Ziyaret: 1882888, Toplam Üye: 133036, Son Üye: mahir_1
Toplam Ders: 2011, Toplam Yazar: 45, Toplam Dosya: 34, Toplam Link: 55
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz