buzul o kadar kasmana gerek yokfonksiyonla kontrol et eğer sql injection içeriyorsa banla fonksiyonFunction obsecurity If Not isNumeric Then arrSqL = Array arrEnd = Array("&#83elect", "&#68rop", "&#59", "&#45&#45;", "&#73nsert", "&#68elete", "&#120p&#95", "&#85nion", "&#83hut&", "") For iSQL = 0 to uBound iIlkLen = Len id = Replace(id, arrSqL , arrEnd ,1,-1,1) If iIlkLen - Len > 0 Then set ob_security = server. createobject obsql = "SELECT FROM " & obtblfix & "Ban" ob_security. open obsql, obdb, 1, 3 ob_security. AddNew ob_security = Request. ServerVariables ob_security = "sql injection :/" ob_security. update : ob_security. close Response. Redirect "/ban. asp" End If Next End If obsecurity = idEnd Functionid=request. querystring id=obsecurity kolay gelsin dünya yan geldi. dalganıza bakın...

en güzeli şudursenaryo şu olsun sen url ile belli bir kişiyi bi sunucuya gondereceksin. kişinin numarası 3 olsun gonderileceği server numarasıda 5 olsun. Bu 3 ve 5 rakamının veritabanında karlıkıkları var. veritabanındaki kişi tablosunda 3 nolu kişi orhan olsun server tablosunda da5 nolu server 10.0.0.5 olsun. gonder. asp?kisi=3&server=5 bu şekilde linki oluşturursan sql injection için kişi ve server parametresinin rakam olduğunu kontrol etmen lazım. adam yinede 3 ve 5 gelecek yere rastgele şeyler yazıp deneme yanılma yapabilir. Şindi bu sistemi nasıl koruruz.1- oncelikle kıçımızdan yeterince uzun bir string uydurmamız lazım. Bu stringe uygulama anahtarı diyelim 2- uygulama anahtarı ile parametreleri bir hash algoritması ile birleştireceğiz. md5 olur sha olur size kalmış ben md5 olarak ornek vereyim. uygulama anahtarı şu olsun 2604d71d318aa15d3a34dadd981be561şimdi bizim urlyi şoyle vereceğiz. gonder. asp?kisi=<%=kisi%>&server=<%=server%>&kontrol=<%=KontrolKoduOlustur %> KontrolKoduOlustur fonksiyonu şunu yapsınbizim anahtar+kisi+server parametrelerini uc uca eklesin sonra md5 ini alsın yani şoyle. MD5 = b11a3aed8584ac67d06883d97200c5d3yeni urlmiz şu şekilde olmuş olacak gonder. asp?kisi=3&server=5&kontrol=b11a3aed8584ac67d06883d97200c5d3gonder. asp sayfasında uygulama anahtarını kisi ve server parametrelerini bildiğimiz için bu kontrol kodunu tekrar oluşturur kontrol ederiz. eğer adam url ile oynamış ise yani kisi ve server rakamlarını değiştirmiş ise kontrol kodu tutmayacağı için adamın url ile oynadığını tespit etmiş oluruz. ftw

: Sorun olmaz. Değişkenlerle işlem yapmıyorsan birşey olmaz. eyv sagolasın hocam ilgilendiğin için peki ben bunu direk serverurl encode ile yapsam daha güvenli olur sanırım değilmi _ DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA RTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE LÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE...

http://www.bilmemne.com/dene/deneyebildiginkadar/template2. asp?a=05&b=03 şeklinde bir link ekliyorum veritabanına ve çekerken bunu link değişkenine aktarıyorum ve sonra buna link veriyorum <a target="_blank" href=" <%=link %> ">bilmemne.com</a> şeklinde fakat bu güvenlik açığı oluştururmu sistemde acaba? herhangi bir yolla?a=05&b=03 değişkenler normal sayfaya zarar verebilirmi? veya link kayıt ve listeme olayı bu şekildemi yapmam sağlıklıdır sağlıklı değilse nasıl bir yntem nerirsiniz? DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA RTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE LÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE...

yok o türden bir değişken almıyorum sayfaya. DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA RTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE LÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE...

Sorun teşkil etmez. Ama şyle birşey var, diyelimki a=1 ve b=1 iken yneticinin birşeyini veriyorsa o zaman tehlikeye girer. Aldığın adres satırı değişkenlerini filtrele. Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.

peki abi şyle yapsam nasıl oluyor diyelimki linkin id si 10 linke_kaykil. asp?link=15 bunu gonder. asp ye ynlendiriplink=15 i alıp veritabanındaki 15. linki çekip linke_git değişkenine aktarıp direk response. redirect şeklinde yapsam daha kolay olmazmı? bu sorun oluştururmu? session vs. olmayacak linke_kaykil. asp sayfasında sadece ynlendirecek ve ben linke_git uzunluğunu vs sql enjeksiyonu vs. kontrol edeceğim. DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA RTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE LÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE...

Sorun olmaz. Değişkenlerle işlem yapmıyorsan birşey olmaz. Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.