Xss ve SQL Injection Ataklarından Korunma - Webmaster Forum & Webmaster Okulu
Webmaster Forum & Webmaster Okulu  

Geri Dön   Webmaster Forum & Webmaster Okulu > Webmaster Genel > Site & Server Administration > Site Güvenliği & Saldırılar

Site Güvenliği & Saldırılar Site güvenliği ddos saldırılar, flood çözümleri, firewall ayarları

Cevapla
 
LinkBack Konu Seçenekleri
  #1 (permalink)  
Eski 29-10-2007, 05:38 AM
Üyeliği durduruldu
 
İstanbul Avrupa Şubesi
Yaş: 21
Mesajlar: 11
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 1
wbbturk isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı Xss ve SQL Injection Ataklarından Korunma

Günümüzde birçok websitenin etkilendiği ve son günlerde adından çok sık söz ettirek xss ve SQL Injection açıklarından korunmak için yazılmış bir makale.
1.Giriş
2.Xss ve Sql'e Bakış
3.Korunma
4.Çıkış
[1.Giriş]
'''''''''
-------------------------------------------------------------
Sql Injection Ve Xss Ataklarını Bir Önceki Derslerimizde Anlatmıştım...Şimdiki Konuda Bun
lardan Nasıl Korunacağımıza Göz 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 Dönelim...
[2.Xss Ve Sql'e Bakış]
-------------------------------------------------------------
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.
[3.Korunma]
-------------------------------------------------------------
Genel Olarak Asp ve Php Dillerinden Yola Cikarak Bu Atakları Blocklama Yollarını Acıklayacağı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("adi")
soyadi = Request.QueryString("soyadi")
adi = replace(adi,"'","")
adi = replace(adi,"(","")
adi = replace(adi,")","")
adi = replace(adi,";","")
adi = replace(adi,":","")
adi = replace(adi,"<","")
soyadi = replace(soyadi,"'","")
soyadi = replace(soyadi,"(","")
soyadi = replace(soyadi,")","")
soyadi = replace(soyadi,";","")
soyadi = replace(soyadi,":","")
soyadi = replace(soyadi,"<","")
reponse.write adi & "<br>" & soyadi
>
================================================== ===========
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%
Şeklindeki Bir Asp Dosyasına, Adi Olarak Yollanacak Değer Alttaki Gibi Olursa:
test.asp?adi=ibrahim<script>alert('test');</script>
Çıktısı Şu Şekli Alacaktır.
--------------------------------
ibrahimscript>alerttest/script>
---------------------------------
yani Burada Yaptiğimiz replace(değiştirme) İşleminde Görmüş Olduğunuz Gibi ',<,;,:,(,) Karakterl
erini boş olarak değiştirdi.Eğer Böyle Bir İşlem Yapmiş Olmasaydik ( değiştirme ) Çıktı Şu Şekil
de Olacaktı.
--------------------------------
ibrahim<script>alert('test');</script>
---------------------------------
Buda Script Tarafından script tagindan Yorumlanarak, Size Uyarı Mesaji Verecekti. Yani Burada Uyarı Yerine, Xss ve Sniffer Derslerimizde Gördüğü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["adi"];
$soyadi = $_GET["soyadi"];
$adi = str_replace("'","",$adi);
$adi = str_replace("(","",$adi);
$adi = str_replace(")","",$adi);
$adi = str_replace(";","",$adi);
$adi = str_replace(":","",$adi);
$adi = str_replace("<","",$adi);
$soyadi = str_replace("'","",$soyadi);
$soyadi = str_replace("(","",$soyadi);
$soyadi = str_replace(")","",$soyadi);
$soyadi = str_replace(";","",$soyadi);
$soyadi = str_replace(":","",$soyadi);
$soyadi = str_replace("<","",$soyadi);
echo $adi."<br>".$soyadi;
>
================================================== ===========
################################################## ###########
Şeklindeki Bir PHP Dosyasına, Adi Olarak Yollanacak Değer Alttaki Gibi Olursa:
test.php?adi=ibrahim<script>alert('test');</script>
Çıktısı Şu Şekli Alacaktır.
--------------------------------
ibrahimscript>alerttest/script>
---------------------------------
yani Burada Yaptiğimiz str_replace(string değiştirme) İşleminde Görmüş Olduğunuz Gibi ',<,;,:,(,)
Karakterlerini boş olarak değiştirdi.Eğer Böyle Bir İşlem Yapmiş Olmasaydik ( değiştirme ) Çıktı
Şu Şekilde Olacaktı.
--------------------------------
ibrahim<script>alert('test');</script>
---------------------------------
Buda Script Tarafından script tagindan Yorumlanarak, Size Uyarı Mesaji Verecekti. Yani Burada Uyarı Yerine , Xss ve Sniffer Derslerimizde Gördüğü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ürigrasyonda 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 Göz Atalım...
ASP
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%
================================================== ===========
<%
adi = Request.QueryString("adi")
soyadi = Request.QueryString("soyadi")
set Kontrol = CreateObject("TsmAtak.Block")
reponse.write Kontrol.GelenKontrol(adi) & "<br>" & Kontrol.GelenKontrol(soyadi)
%>
================================================== ===========
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%
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ı Görmüş Olmalısını...
Şimdi birde Php İçin Örneğimize Bakalım.
################################################## ###########
================================================== ===========
<?php
$adi = $_GET["adi"];
$soyadi = $_GET["soyadi"];
$kontrol = new COM("TSMAtak.Block");
echo $kontrol->GelenKontrol($adi)."<br>".$kontrol->GelenKontrol($soyadi);
>
================================================== ===========
################################################## ###########
================================================== ===========
######## BİTİŞ ########
Konu Hakkindaki Örnekler ve Modul Alttaki Adrese Göz Atabilirsiniz:
Index of /security/Turkish/dersler/uygulamalar/genel/SqliveXssKorunmaYollari
-------------------------------------------------------------------------------------------------
Bu Ders Ibrahim BALIÇ Tarafından Yazılmıştır.
Gerekli Modul TSM Güvenlik Programlama Grubu Tarafından Geliştirilmiştir.
========================
Ibrahim BALIÇ
TSM Security Programmer.
========================
Kaynak: Olympos.Org

Konu wbbturk tarafından (29-10-2007 Saat 05:43 AM ) de değiştirilmiştir..
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Konu Seçenekleri

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Okuduğunuz Konuya Benzer Konular
Konu Konuyu Açan Forum Cevaplar Son Mesaj
sql injection yememem için kerim2155 PHP 23 22-06-2007 12:35 PM
sql injection nedir nasıl önlerim bunu? noxious Webmaster Genel konular sorunlar 2 10-05-2007 09:42 PM
SQL Injection Engellemek misoskian Database 1 29-04-2007 05:21 PM
Webservis Toplist Sayaç kodu ve Sebep Olduğu XSS Açıkları ve Korunma Yöntemleri gemlikli Webmaster Genel konular sorunlar 2 13-04-2007 04:03 PM
php'de SQL injection Bartuc ASP 6 12-03-2007 12:40 PM

Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 01:56 PM .


Telif Hakları vBulletin v3.7.0 © 2000-2008, ve Jelsoft Enterprises Ltd.'e Aittir.
Hosted by Radore Hosting
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191