aslında bizdede var le kısa bir kod<%Server. HtmlEncode %> , <%Server. UrlEncode %> gibiArmadAyazı için saol okumakta fayda var dünya yan geldi. dalganıza bakın...

: 2. yntemle sadece tagları sildirmiş bi encode yaptın mı yine yalama olcak?kaldı ki 1. yntemde de sanki yleymiş gibi algıladımmallık bende olabilir bok atmiim :)) senin düşündüğünü düşünen adam zaten bununla pek uğraşmaz hacı:D

Yuh be abi php ile bu kadar kasmanın ne alemi var :D <?php$degisken = htmlspecialchars ; // Html taglarını dnüştürür...$degisken = addslashes ; // zel karakterlere slash ekler.?>Aha bu kadar :D Yoksulluk korkusu ile mrü servet peşinde harcayanda grdüm fakirliğin zünü...

Gelen verilerdeki zararlı kodları temizleyerek SQL Injection'dan korunma<% Function Temizle '| '| SQL Injection'dan Korunma Fonksiyonu '| mydesign a. k. a doronty37 '| http://www.mydesign.gen.tr '| mydesign@mydesign. gen.tr '| '// Eğer Değişken Boşsa Fonksiyondan Çıkılıyor If strVeri = "" Then Exit Function '// Zararlı Kodlar Burada Ayıklanıyor strVeri = Replace strVeri = Replace strVeri = Replace(strVeri, " ", "&#093;") strVeri = Replace(strVeri, """", "", 1, -1, 1) strVeri = Replace(strVeri, "=", "&#061;", 1, -1, 1) strVeri = Replace(strVeri, "'", "''", 1, -1, 1) strVeri = Replace(strVeri, "select", "sel&#101;ct", 1, -1, 1) strVeri = Replace(strVeri, "join", "jo&#105;n", 1, -1, 1) strVeri = Replace(strVeri, "union", "un&#105;on", 1, -1, 1) strVeri = Replace(strVeri, "where", "wh&#101;re", 1, -1, 1) strVeri = Replace(strVeri, "insert", "ins&#101;rt", 1, -1, 1) strVeri = Replace(strVeri, "delete", "del&#101;te", 1, -1, 1) strVeri = Replace(strVeri, "update", "up&#100;ate", 1, -1, 1) strVeri = Replace(strVeri, "like", "lik&#101;", 1, -1, 1) strVeri = Replace(strVeri, "drop", "dro&#112;", 1, -1, 1) strVeri = Replace(strVeri, "create", "cr&#101;ate", 1, -1, 1) strVeri = Replace(strVeri, "modify", "mod&#105;fy", 1, -1, 1) strVeri = Replace(strVeri, "rename", "ren&#097;me", 1, -1, 1) strVeri = Replace(strVeri, "alter", "alt&#101;r", 1, -1, 1) strVeri = Replace(strVeri, "cast", "ca&#115;t", 1, -1, 1) Temizle = strVeri End Function %> Kullanımı: <% strParola = Temizle(Trim(Request. Form %>

nre yani bu kadar kısa kodu yazıoz attack lardan korunuyoruz ylemi? Living Death

2. yntemle sadece tagları sildirmiş bi encode yaptın mı yine yalama olcak?kaldı ki 1. yntemde de sanki yleymiş gibi algıladımmallık bende olabilir bok atmiim :)) Ardından yüz kpek havlamayan kurt, kurt sayılmaz..

php5 ile gelen prepared statementlar sayesinde SQL injection dan yırtabilirsiniz. Bu sistem gelen veriyi sürücü tarafından işleme alıp zararlı karekterleri temizliyor. Dikkat: Hazine Ceyhan ırmağının kıyısında iki kprü arasında... kuru ağacın Dibinde...

Attacklardan korumuyor aslında. sadece işaretleri değiştiriyor. Boylece injection yapılamıyor.

tmm hacı anladım bende dün şu yukarıdaki uzun yazıyı bi yerde grmüştüm aldıydım lazım olur die sen konu açmışın madem bende yapıştırıverdim :D Living Death

ne demek istion haji sen :D:Donu düşünme bunu düşünme ne lan bu ::D:Dpiyasada angut çok ble bilion :) Ardından yüz kpek havlamayan kurt, kurt sayılmaz..

Kaynak site arkadaşlar kodlarda belki eksiklik ola bilir.. http://www.mydesign.gen.tr/kod/189.html

: nre yani bu kadar kısa kodu yazıoz attack lardan korunuyoruz ylemi? En azından yeni türüyen lamerlerden En gellenmiş olur.. )))

#Konu : Xss ve SQL Injection Ataklarından KorunmaTarih : 22/04/2007 Saat : 03:34Yazar : Ibrahim BALIÇ# İçerik : 1. Giriş 2. Xss ve Sql'e Bakış 3. Korunma 4. Çıkış ''''''''' Sql Injection Ve Xss Ataklarını Bir nceki Derslerimizde Anlatmıştım... Şimdiki Konuda Bun lardan Nasıl Korunacağımıza Gz Atacağız. Bu Konuyu Okumadan nce Sql Injection Nedir? Xss Nedir? Konularını Okumanızı, rnekleri Incelemenizi Mutlak Tavsiye Ederim. Girişi Fazla Uzatmadan Şimdi Konumuza Dnelim... Her Iki Atak Türününde Uygulanması, Dışarıdan Eklenen Kodlar Ile Olduğunu nceki Konuları mızda Belirttik. Ve Uygulamalı Olarak Inceledik. Şimdi Buradan Yola Cikarak Nasil Korunacağımıza Bakacağız. SQL Injection İçin : ' Karakteri. Xss Icın : < ; : Karakterleri. Bu Karakterler Sql'de ve html'de İşlevi Olan Karakterlerdir. Biz Bu Atak Türlerine Engel Olabilm ek İçin Bu Karakterleri Tüm Gelen Veriler İçerisinde Kontrol Etmeliyiz. Ve Daha Sonra Script İçe risinde Kullanmalıyız. Bu Karakterleri Gelen Datalar İçerisinde Var Olup Olmadiklarini Kontrol Edip, Daha Sonraa İşlem Yaptırırsak Korunmuş Oluruz. Genel Olarak Asp ve Php Dillerinden Yola Cikarak Bu Atakları Blocklama Yollarını Acıklaya cağım. Burada Ek Olarak "Tsm Atak Block" Modulunude rnekle Tanımış Olup, Kullanımı Hakkında Bilgi sahibi Olacaksınız... Genel Bir Asp Dosyası İçerinde Yapılacak Kontrol. Burada Tümünde: adi, soyadi Değişkenlerinin olduğunu varsayiyorum. Asp:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <%adi = Request. QueryString soyadi = Request. QueryString adi = replace adi = replace(adi," adi = replace ","")adi = replace adi = replace adi = replace soyadi = replace soyadi = replace(soyadi," soyadi = replace ","")soyadi = replace soyadi = replace soyadi = replace reponse. write adi & "<br>" & soyadi?> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Şeklindeki Bir Asp Dosyasına, Adi Olarak Yollanacak Değer Alttaki Gibi Olursa: test. asp?adi=ibrahim<script>alert ;</script> Çıktısı Şu Şekli Alacaktır. ibrahimscript>alerttest/script> yani Burada Yaptiğimiz replace İşleminde Grmüş Olduğunuz Gibi ',<,;,:, Karakterl erini boş olarak değiştirdi. Eğer Byle Bir İşlem Yapmiş Olmasaydik Çıktı Şu Şekil de Olacaktı. ibrahim<script>alert ;</script> Buda Script Tarafından script tagindan Yorumlanarak, Size Uyarı Mesaji Verecekti. Yani Burada Uy arı Yerine, Xss ve Sniffer Derslerimizde Grdüğümüz Gibi Dilediğimiz Scripti Caliştirmak Müm kün Olurdu... Şimdi Php İle BUnları Nasil Yapacağımıza Bakalım... PHP <?PHP$adi = $_GET ;$soyadi = $_GET ;$adi = str_replace ;$adi = str_replace(" ;$adi = str_replace ","",$adi);$adi = str_replace ;$adi = str_replace ;$adi = str_replace ;$soyadi = str_replace ;$soyadi = str_replace(" ;$soyadi = str_replace ","",$soyadi);$soyadi = str_replace ;$soyadi = str_replace ;$soyadi = str_replace ;echo $adi."<br>".$soyadi;?> Şeklindeki Bir PHP Dosyasına, Adi Olarak Yollanacak Değer Alttaki Gibi Olursa: test. php?adi=ibrahim<script>alert ;</script> Çıktısı Şu Şekli Alacaktır. ibrahimscript>alerttest/script> yani Burada Yaptiğimiz str_replace İşleminde Grmüş Olduğunuz Gibi ',<,;,:, Karakterlerini boş olarak değiştirdi. Eğer Byle Bir İşlem Yapmiş Olmasaydik Çıktı Şu Şekilde Olacaktı. ibrahim<script>alert ;</script> Buda Script Tarafından script tagindan Yorumlanarak, Size Uyarı Mesaji Verecekti. Yani Burada Uy arı Yerine, Xss ve Sniffer Derslerimizde Grdüğümüz Gibi Dilediğimiz Scripti Caliştirmak Mümkün Olurdu... Şimdi Php Dosyalarımız İçin Ek Olarak Bir Bilgi Vermek Gerekirse, Sunucu Üzerindeki Konfürigrasy onda php. ini içerisinde magic_quotes_sybase = On ve magic_quotes_runtime = on Şeklinde Ise, ' Karakteri Zaten Etkisiz Kalacaktır. Php "\" Kapaniş Karakteri Her ' Karakterini Kendisiyle Birlikte Replace Edecektir. Fakat Bu Xss İçin Bi Engel Değildir. Ve Genel Anlamda Ser ver Sahibi Bazı Scriptlerin Hatasız Calişması İçin Acmış Olabilir. Biz Her İhtimale Karşılık Olarak Bu Kontrolleri Yaptirmalıyız. Bu Her Değişken İçin Çok Uzun Sür ebilir. veya Çok Kod Demektir. Biz Sizler İçin Bir Modul Hazırladık, Bunu Kullanmış Olduğunuz Se rver'a register Ettirip Ücretsiz Olarak Kullanabilirsiniz. Register Edilmiş Server Üzerinde "TSM Atak Block" Nasıl Kullanılır Şimdi Buna Gz Atalım... ASP%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <%adi = Request. QueryString soyadi = Request. QueryString set Kontrol = CreateObject reponse. write Kontrol. GelenKontrol & "<br>" & Kontrol. GelenKontrol %> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Modulumuzu Script İçinde Tanimlayip, Tüm İcerideki Değişkenleri Modul İçinde Filtre Ederek Tüm Gelen Verileri Kontrol Ettirebilirsiniz. Bu Hem Az Kod Hemde Daha İyi Bir Güvenlik Demektir. Yukarıdaki İlk rneğimizdeki Kod Satır Sayısı İle Modul Filtredeki Kod Satır Sayısı Arasındaki Fa rkı Grmüş Olmalısını... Şimdi birde Php İçin rneğimize Bakalım. <?php$adi = $_GET ;$soyadi = $_GET ;$kontrol = new COM ;echo $kontrol->GelenKontrol ."<br>".$kontrol->GelenKontrol ;?> BİTİŞ Konu Hakkindaki rnekler ve Modul Alttaki Adrese Gz Atabilirsiniz: http://www.turksecuritymaster.com/security/Turkish/dersler/uygulamalar/genel/SqliveXssKorunmaYollari Bu Ders Ibrahim BALIÇ Tarafından www.turksecuritymaster.com Kullanıcıları İçin Yazılmıştır. Gerekli Modul TSM Güvenlik Programlama Grubu Tarafından Geliştirilmiştir. Ibrahim BALIÇ TSM Security Programmer. Living Death