Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

SQL İnjection Security

Hükümdar

Administrator
Yönetici
Admin
Katılım
2 Ocak 2013
Mesajlar
24,068
Tepkime puanı
12
Puanları
199
Konum
America
Web sitesi
www.metin2tr.net

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun



Post lardan yapılan injectionlardan korunma yolları.

İ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 Sec(,SQL)
SecSQL = Replace (SecSQL ,"`","",1,-1,1)
SecSQL = Replace (SecSQL ,"=","",1,-1,1)
SecSQL = Replace (SecSQL ,"&","",1,-1,1)
SecSQL = Replace (SecSQL ,"!","",1,-1,1)
SecSQL = Replace (SecSQL ,"*","",1,-1,1)
SecSQL = Replace (SecSQL ,"/","",1,-1,1)
SecSQL = Replace (SecSQL ,"\\","",1,-1,1)
SecSQL = Replace (SecSQL ,"And","",1,-1,1)
SecSQL = Replace (SecSQL ,"’","",1,-1,1)
SecSQL = Replace(SecSQL, "-", "")
Security=SQL
end function
%>



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

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

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

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst