Olympos Security

  Haberler  
  Kütüphane  
  Ürünler  
  Olympians  

Ana sayfa

Son gönderilenler

Arşiv

Yazarlar

İndeks

Dokümanlar

Kitaplar

Ürün dokümanları

Güvenlik

Olympos

ACİL...WORKSTATION

RE: Bilgisayarımı kontrol edemiyorum!!!

cd den pc ye kopyalama

Error parsing C:\Windows\browscap.ini on line 220

RE: Telefonunuz dinleniyor mu?

RE: 80048820 hatası

hata kodu 80048820

RE: başlangıç sayfası değiştir

RE: Yeni Phising Tehlikesi MUTLAKA OKUYUN !!

acil yardım

A-POLICY AGENT ORCHESTRATOR

masaüstü

?

RE: MSN GÖRÜŞMELERİ KAYDI

msn messenger - internet explorer dilemması

RE: En iyi antivirüs yazılımı sizce hangisi?

RE: naomi

RE: mesenger

RE: Birileri Pc'me mi Bağlanıyo?? Yardım Eder Misiniz Lütfen

hard disk hatası

modem ayarları

msn messenger

RE: giriş sayfamı google yapamıyorum.yardım ederseniz sevini

RE: bakalım kım bılecek bu soruyu

RE: msn virüsü

RE: İnternet explorer giriş sayfası değişmiyor

RE: acil yardım

varsayılan ağ geçidi

RE: Birileri Pc'me mi Bağlanıyo?? Yardım Eder Misiniz Lütfen

RE: activexdebugger32.exe sorunu çözüldü

RE: acil yardım

Hata Raporları

RE: acil yardım

RE: acil yardım

activexdebugger32_exe

msn açılmıyor lütfen yardım edin

RE: pcmde windowsu sahte olarak goruo

RE: MSN GÖRÜŞMELERİ KAYDI

RE: GİRİS SAYFASI DEĞİŞMİYOR DİYENLER

RE: anakartım yanarmı

RE: başlangıç sayfası değiştir

RE: anakartım yanarmı

RE: acil yardım

RE: google

RE: acil yardım

RE: Deepfreeze ama çok farklı bi konu :( mutlaka okuyun. Yar

RE: adsl hızım çok yavaş çözüm bulamadım

RE: Kriptografi enteresan birşey...

anakartım yanarmı

RE: ses sorunu
Syndication  Syndication







0

Asp ile DataBase Güvenliği

Google

Ana sayfa Kütüphane Dokümanlar


1.ADG Giriş
2.Asp Ile DataBase Güvenliği
3.Örnek Bir Uygulama
4.ADG Çıkış
[1.ADG Giriş]
'''''''''''''
-------------------------------------------------------------------------------------------------

ADG, "Asp ile DataBase Güvenliği" Kelimelerinin Başharflerinden Oluşur
Asp ile Database Güvenliği, Yazmış Olduğunuz Scriptinizde Dinamik/Sabit Olarak Tutalacak
Kayıtların,Saklanmış Olduğu Veri Deposunun Korunmasıdır.

Bilginin Güvenliği, Bilginin Önemi Kadar Önemlidir.Eğer Databasede
Saklanan Bilgilerin Biz im İçin Bir Önemi Yoksa,Bu Konu Okadarda Onem Teşkil Etmez.Ancak Bizim Üyelik Sistemimiz Varsa,Ve Üyelerimiz Varsa Bu Konu Hem Üyerimiz Hemde Bizim İçin Çok Büyük Bir Önem Taşımaktadır.

Üyerimiz, Sitemize Üye Olduklarında Genel Anlamda Şifre Olarak,Unutmayacakları, Veya Kendi leri İçin Özel Anlam İfade Eden, Kelime veya Kelimeciklerden Oluşan Bir Şifre Oluşturacaklardır.
Muhtemelen Bu Üyemizin Birçok Yerde ayni Şifreyi Kullandiği Kacinilmaz bir Gercektir. Bu Bilginin
Kötü Niyetli birinin Eline Gecmesi Muhtamelen Kötü Sonucalr Doğuracaktr.Bu Olaya Sebebiyet Vermek Veya Adımızı Gecirmek, İlgili Kurum Veya Kuruluşumumuzu Kötü
Etkiliyecektir.

Zarar Gören Kişinin, Böyle bir Olayı Öğrenip Zarardan Dolayı Dava Acması Sonucunda Dava yı Kazanması Muhtameldr.Asp ile Database Kullanmak için Birçok Secimde
Bulabiliriz.Ben Komuzda Genel Anlamda En çok Kullanılan Access, Sql Server, Dat Dosyaları Üzerine Olacaktır.
Şimdi Daha Fazla Girişi Uzatmadan Konumuza Giriyoruz.


[2.Asp Ve Database] (databaseler hakkında geniş bilgi databaseler bölümündedir)
'''''''''''''''''''
-------------------------------------------------------------------------------------------------

Asp ile Bir Access Bağlantısı Kurmamız İçin, Öncelikle Bir Konnektöre İhtiyacımız Vardır,
Ben Burada Konnektör Olarak ODBC(Open Data Base Connectivity) Kullanacağım. Ve Bununla Access' e Bağlanacağım, Izlediğim Adımları Çıkış Bölümünde Tekrar Sıralı Şekilde Anlatmayı Düşünüyorum.

DataBase'imde Tutacağım Bilgilerin Benim İçin Önemli Olduğunu Düşünerek Hemen Başlıyorum Paranormal Olmaya..

İlk Olarak Scriptimden Başlıyorum. Benim İçin En Önemli Şeyin DataBase'imin Sunucu Üzerindeki Yolunun Kesinlikle ve Kesinlikle Hiç Kimse Tarafından Bilinmemesi !
Bunun İçin Yapacağım Şeyleri Şimdi Sirasiyla Adımlamak Istıyorum;

1.Script İçin Hata Sayfası Oluşturmak
2.DataBase Konnektorumu Harici Bir Sayfadan Dahil Etmek.
3.DataBase Klasörümün Ismini Kimsenin Tahmin Edemiyeceği Bişi Yapmak.
4.Sayfama Gelen Tüm Bilgileri Analiz Etmek
5.DataBase'imin Uzantısını Jpg, Gif, Asp, Php Gibi Uzantılarda Yapmak.
6.DataBase'imin Bulundugu Klasor'e Birkac Alakasız Dosya Eklemek.
7.DataBase'ime Benzeyen Boşbir VeriTabanı Kullanmak

[3.Örnek Bir Uygulama]
''''''''''''''''''''''
-------------------------------------------------------------------------------------------------

Sunucu İçin Dizin Yapısını Şu Şekilde Olduğunu Varsayarak İşlemlere Başlıyorum...

Sunucu Yapısı:
__________________________________________________________________________________

Ana Dizin:
C:\inetpub\wwwroot\turksecuritymaster.com

Alt Dizin:
C:\inetpub\wwwroot\turksecuritymaster.com\resimler
C:\inetpub\wwwroot\turksecuritymaster.com\01.08.2005resimler
C:\inetpub\wwwroot\turksecuritymaster.com\data

Dosyalar:

Klasör; C:\inetpub\wwwroot\turksecuritymaster.com\resimler
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
[ Resimlerimizin Bulanacağı Klasör ]

Klasör; C:\inetpub\wwwroot\turksecuritymaster.com\01.08.2005resimler
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
resim_001.jpg -> Fuzili Bulunduracağımız Resim
resim_002.jpg -> Database'imiz.
resim_003.jpg -> Fuzili Bulunduracağımız Resim II

Klasör; C:\inetpub\wwwroot\turksecuritymaster.com\data
'''''''''''''''''''''''''''''''''''''''''''''''''''''
Kayitlar.mdb -> Bom Boş Olan Database'imiz.


Klasör; C:\inetpub\wwwroot\turksecuritymaster.com
''''''''''''''''''''''''''''''''''''''''''''''''''
Konnektor.Asp -> DataBase'imize Baglanti Saglayacak Konnektor
HataOlustu.Asp -> Hata Durumunda Yonlendirme Yapacağımız Sayfamız.
Kayitlarim.Asp -> Baglanti Kurulup Bilginin Sunulacağı Dosyamız..

___________________________________________________________________________________

Şimdi Bu Karışık Yapıyı Niye Kurduk Diyebilirsiniz, Demediyseniz Ben Hemen Açıklayım :=)
Bu Yapıyı Kurma Sebebimiz Şudur, Olurya Sunucumuzda Bir Açık Çıkar/Bulunur, Ufak Bir Scriptle Sunucudaki Tüm DataBase'ler Taranır.Veya Tüm Klasörler Listelenir yada İçeriği Kontrol Edilir. İşte Böyle Olası bir Durumda, Bizim Database'îmiz Olarak, Kayitlar.mdb Dosyamız Karşı Tarafa Gösterilecektir. Şunki Genelde Uzantısına Göre Tarama Yapılır. Ayrıca Klasörlerimiz Arasındada Gezdiğin de 01.08.2005resimler Klasörümüz Hiç Dikkani Cekmeyecektir. Ceksede
İceride Göreceği 3 Resim Resim Klasörü Olduğu Kanısına Vardırıp Onu Sunucudaki Diğer Dizinleri Gezmesine Sebebiyet Verecek :=)


ASP:
Dosya: Konnektor.Asp
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
=================================================================================================
<%
Dim yol,bag
On error resume next
yol = server.mappath("01.08.2005resimler/resim_002.jpg")
set bag = Server.CreateObject("ADODB.Connection")
bag.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & yol
if err.number <> 0 then
Response.Redirect("HataOlustu.asp")
end if
%>
=================================================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Burada DataBase'imize Bağlantı Kuracak Olan Konnektor.ASP'yi Yazdik Ve
Eğer Script Hatali Calışırsa,HataOlustu.ASP Sayfasına Yönlendirmesi Gerektiğini
Belirttik. Burada Anlamınız Gereken En Önemli Husus, Ziyaretcinin Sistem Hakkında Hiçbir Bilgisinin Olmamasi Gerektiğidir.Eğer Kullanıcı Sistem Hakkında Bilgi Sahibi Olursa 1/0 Önde Başlar. Hata Raporları ve Kodlarıda Sabit Olduğu İçin Vereceği Hata Durumlarından Nerede Nasil Bir Yöntem Kullandiğinizi Öğrenir Ve Size Karşı bunu Kullanır... Şimdi HataOlustu.ASP'yi Yazalım.

ASP:
Dosya: HataOlustu.Asp
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
=================================================================================================
<%
On error resume next
response.write "Yapmış Olduğunuz Isteği Sunucumuz Şuanda
Karşılayamamaktadır.
"
response.write "Bu Aksaklıktan Dolayı Üzgünüz.
Lütfen Daha
Sonra Tekrar Deneyin."
response.write "yonetici[at]turksecuritymaster.com Adresi Ilede Irtibat
Kurabilirsiniz."
if err.number <> 0 then
Response.Redirect("HataOlustu.asp")
end if
%>
=================================================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Burada Hata Oluşması Durumda Yönlendirme Yapacağiz Dediğimiz,
HataOlustu.Asp Dosyasını Yazdık. Bu Dosya Eğer Scriptlerimizde HataOluşursa Otomatik, Hata Kodu ne Olursa Olsun Hata Mesajı Olarak "Yapmış Olduğunuz Isteği Sunucumuz Şuanda
Karşılayamamaktadır......" Yazısını Verecektir.
Şimdi Kayıtların Listeleneceği Kayitlarim.Asp'eye Yazalım. :)

ASP:
Dosya: Kayitlarim.Asp
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
=================================================================================================
<%
On Error Resume Next

Dim KayitId

KayitId = Request.QueryString("id")
KayitId = Replace(KayitId,"'","/")
KayitId = Replace(KayitId,"<","/")

S_sql = "SELECT * FROM kayitlar where id like '" & KayitId & "'"

Set Kay = Server.CreateObject("Adodb.recordset")
Kay.Open S_sql, Bag, 1,3
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write "
Adi SoyadiYasi
" & Kay("adi") & "" & Kay("Soyadi") & "" & Kay("Yas") & "
"
Kay.Close
Bag.Close

if err.number <> 0 then
Response.Redirect("HataOlustu.asp")
end if
%>
=================================================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Burada Kayıtlarımızı Listeleyecek Olan Kayitlarim.Asp'yi Yazdık.Burada
Dikkat Etmeniz Gereken En Önemli Noktalardan Biride,Dışarıdan(KULLANICIDAN) Gelen Bir
Verinin Sql Sorgusuna Dahil Edildiğidir. Ve Bu Verinin , Kullanıcıdan Geldikten Sonra Sql Sorgusuna Dahil Edimeden Taramadan Geçtiğidir. Bu Veriyi Taramadan Gecmemizin Nedeni Ise, Sql Injection, Xss Vs. Gibi Atak Türlerinin Engellenmesidir.Yine Aynı Şekilde Diğer Sayfalarda Yaptığımız Gibi Bu Sayfamızdada Hata Oluşması Durumunda Yapılacak İşleminin, Hataolustu.Asp Sayfasına Yonlenmek Oldugu Bildirildi. Bu Gerekli Kaydın Bulunamaması, DataBase'in Meşkul Olması, Scripte Bir Hata Oluşmasından Sonraki Yapılacak İşlemdir.Ben Burada Database'imizde Kayitlar Tablosu Olduğunu Ve Bu Tablo İcerisindede Şu Şekilde Olduğunu Varsaydım..Ve Ayrıca Konnektorun Dışarıdan Sayfaya Dahil Edildiğinede Dikkat Edin.

Adi, Soyadi, Yas
----------------

TABLO:
################################################
ID | Adi | Soyadi | Yas
'''''''''''''''''''''''''''''''''''''''''''''''
1 | IBRAHIM | BALIÇ | 20
2 | BURAK | GIRAY | 22
3 | RAŞIT | YUKLU | 21
...
..
.
################################################


[3.ADG Çıkış]
''''''''''''''''''''''
-------------------------------------------------------------------------------------------------

Burada Kücük Bir Örnekle Bir DataBase Bağlantısının Nasıl Olması
Gerektiğine Göz Attmış Olduk. Burada Aslen En Önemli Hususlardan Biride, Scripttir. Fakat
Örneğimizde Görmüş Olduğunuz Gibi Gelen/Kontrol/Sorgu Şeklinde ve Hata Durumda Özel Sayfa Yönlenmesini Yaparsanız,Scripte Tam Anlamıyla Güvenliği Sağlamış Olursunuz...

Sql Injection, Xss vb. Atak Türlerinden Daha Iyı Korunmak İçin, TSM'nin
Ücresiz Olarak Yayimladiği Atak Engeli'ni Sunucunuzda Kullanabilirsiniz. Veya Scriptlerinizde
Giriş/Çıkış larda Alttaki Yolu Izleyebilirsiniz.

GIRIŞ[INPUT]
------------->

______ ______ ______
| G. | | V. | | D. |
| Veri | ------ > | Tara | ----- > | Base | ------> ↓
|______| |______| |______| ↓


ÇIKIŞ[OUTPUT] <--------<-------------<--------------------<---



=================================================================================================
######## BİTİŞ ########

-------------------------------------------------------------------------------------------------
Bu Ders Ibrahim BALIÇ Tarafından Yazulmıştır.

========================
Ibrahim BALIÇ
TSM Security Programmer.
========================





| Yazıcı-uyumlu sayfa | Bu makaleyi arkadaşına gönder |

Konu ile alakalı olabilecek diğer dokümanlardan bazıları:
Yayınlanma tarihi:
[MS] Internet Explorer için toplu yama 01.04.2002 00:00
Windows 2000 güvenliği 25.03.2002 17:00
ASP.NET çalıştırıcı işlemde kontrol edilmeyen tampon bellek 06.06.2002 09:00
MS IIS Chunked Encoding güvenlik açığı 12.06.2002 09:00
Microsoft`un sitesindeki açık 12.01.2002 04:23
3. Göz (Sniffing) 20.06.2002 04:23
BT'de dış kaynak kullanımı 06.12.2001 01:07
Görünmez Misafirler: RootKit 23.06.2002 02:17
Metacart'ta güvenlik açığı 24.06.2002 01:05
URL gizleme teknikleri 24.06.2001 19:35

©2007 Olympos Security Güvenlik Portalı - Bilgi Güvenliği Rehberiniz

Yorum listesi


Bir yorum yok.


Şifremi unuttum?

Yeni Kullanıcı hesabı aç

Google
Web olympos


Powered by eZ publish