SQL İnjection Korunma Yöntemleri - Asp ile Querystring

SQL injection günümüzde bilgisayar kullanmayı bilmeyenlerin bile kullanabildiği ve çok can yakan bir saldırı yöntemidir. Bu Dersimizde bu saldırı yöntemininden %100 korunma yöntemlerini göstereceğiz. Asp ile Querystring ile yapılan sql injection saldırıları

Merhaba Bu Dersimizde Şu anda önemli bir saldırı yöntemi olan sql injection üzerinde duracağız bu yöntem çok zararlı ve basit bir yöntemdir basit sql cümleleri ile kolayca bir web sitesi dize getirilebilir.

Çok önemli dedik çünki microsoft.co.uk - pikniktube.com - pentagon.mil - aktifhaber.com ve daha nice büyük siteler bu yöntemle hack edilmiştir ve büyük zarar görmüştür.

SQl injection dan korunma yöntemlerine geçmeden önce saldırının hangi mantıkta işlediğini göstermek istiyorum.

//Query_String ile gerçekleştirilen saldırılar//
Bu Saldırı yönteminde saldırgan web sitesi içerisinde adres çubuğundan gönderilen ve web sayfaları tarafından kullanılan verilerle oynama yapar ve bu oynamalarla sql cümlemizi kendi istediği yöne çekebilir.

Bir haber sitemiz var ve son haberleri ana sayfada listeliyoruz burda haberlerin baslik bilgisini ekranda yazıyoruz ve link olarak örn haber_oku.asp?id=1 burda id yede haberimizin id numarısını atıyoruz ve haber_oku.asp sayfasından bu id verisinden yararlanarak hangi haberin tam sayfasını okuyacağımızı belirliyoruz.Tabi burada can alıcı nokta id değişkeni herhangi bir filtreden geçirmemektir.
Sayfada kullandığımız sql cümlesi şöyle olabilir.


Select * from haberler where id="& request.querystring("id") &"



Evet bu kullanım bariz bir şekilde sitemize saldırı yapılmasına olanak tanıyor.
Saldırgan id numarasıyla oynayarak istediği veriyi db den çekebilir.
Bu Saldırıyı bertaraf etmek için ise id yi ilk filtreleyerek uygulayabiliriz.
Örnek :

dim no

no = request.querystring("id")

if if="" or not isnumeric("no") then

response.write "<script>alert(""Oynaşma kardeşim siteyle"")</script>"

response.end

end if




select  * from haberler where id="& no &"



Bu kullanım ise tamamen saldırdann korunabileceğimiz şeklidir.

Tabii ben bunla uraşamam diyorsanız verinizi cint() fonksiyonu ile sayısal ifadeye dönüştürmeye çalışabilirsiniz bu şekilde saldırgan tırnak işareti kulalndığın sistem hata vereceği için saldırı gerçekleşmeyecektir.

Bu Derste Asp sayfalarında Querystring ile gerçekleştirilen saldırıyı nasıl etkisiz hale getireceğimizi gördük bi sonraki dersimizde Asp de form post olayı ile gerçekleştirilen saldırılardan korunma yöntemlerini ileyeceğiz.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Fayladı bir makale olmuş biraz daha ayrıntılı olarak anlatılırsa bu konu çok daha iyi olur.
evet süper bir makale keşke C# ta kodların örneği olsa o zaman tam süper olacakmış. Yine de teşekküerler varsa çevirebilecek olan arkadaş bir el atarsa çok memnun olacağım. teşekkürler

Yukarı Git