UzmanWeb.Net
  ANA SAYFA   FORUM   RESİMLER   GÖRSEL DERSLER   TOPLİST   DERSLER   İLETİŞİM

Mayıs 16, 2008, 07:56:02 ÖÖ *
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
 
   Forum   Yardım Oyun Giriş Yap Kayıt  
Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: Asp açıkları , kapatılmaları ve Asp'De Güvenlik (Yeni Yazılımcılar bakmalı)  (Okunma Sayısı 213 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Yunus Emre
Moderatör
*

Puan: 44
Offline Offline

Cinsiyet: Bay
İsim: Yunus Emre
Meslek: Öğrenci-Lise
Mesaj Sayısı: 595


Aktiflik
Deneyim
Seviye
 Stats
« : Mart 20, 2008, 17:33:56 ÖS »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

Arkadaşlar öncelikle çok profesyonel olduğum söylenemez fakat asp ile yazdığınız siteyi daha güvenli yapmak için öneriler biliyorum ,, uyguladıklarımı yazacağım konuya başlıyorum :

Makaleyi yazan: Yunus Emre EVKURAN(Sakarya-1993=doğum)  / UzmanWeb.net

1) Üye girişlerinde "OR" açığı (Çok önemli)

Üye girişlerinde bütün webmasterların dikkat etmesi gereken açık or açığıdır. Şu anda bütün profesyonel yazılımcılar bu açığı kapatır fakat yeni başladıysanız büyük bir ihtimal böyle bir açığı bilmiyorsunuzdur ..
Açığı biraz daha açıklayayım .. Üye adına ve (veya) şifresine 
Kod:
'or''='
 
bu kodu yazdığınızda sisteme direkt girebilirsiniz ve eğer bir hacker iseniz index basarak siteyi hackleyebilirsiniz .
Peki anlamı nedir bu kodun ??

Sistemler 'or''=' döngüsünü "yada" şeklinde algılayıp 1=1 i true'ya dönüştüyor ve bu kullanıcı adını ve şifresini yazdığımızda siteye admin olarak girmemizi sağlıyor.. Hemen korkmayın nasıl kapatılacağınıda yazacağım Cheesy
Bu kodu kapatmak istiyorsanız üye adındaki or adını o_r ile değiştirebilirsiniz veya int.den bulduğum bir makalede bir kodun bunu kapatabileceği yazıyordu ve bende artık o kodu kullanıyorum ;
Kod:
uye=Server.HTMLEncode(Request.form("ad"))
uye=Replace(uye, "'", "", 1, -1, 1)

sifre=Server.HTMLEncode(Request.form("password"))
sifre=Replace(sifre, "'", "", 1, -1, 1)

Verdiğim kod HTML kodlardan gelen veriyi temizliyor ve ' karakterini siliyor ..

Request.Form 'dan gelen bilgileri kendinize göre değiştiriniz ve artık gelen üye adını uye , pasaportuda sifre değişkenine atadık. SQL sorgunuzun içinde bunları kullanabilirsiniz örn;

SQL="SELECT * FROM uyetablosu where uye='"&uye&"' and sifre="&sifre&""

Diğer açık bir sonraki mesajtadır ..
"Bu Konuya Teşekkür Edenler":
burajan, AdmiN
Logged

-- KURT COBAIN --
Last Days / Death to birth
Yunus Emre
Moderatör
*

Puan: 44
Offline Offline

Cinsiyet: Bay
İsim: Yunus Emre
Meslek: Öğrenci-Lise
Mesaj Sayısı: 595


Aktiflik
Deneyim
Seviye
 Stats
« Yanıtla #1 : Mart 20, 2008, 17:45:14 ÖS »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

2) Siteyi saldırılara karşı koruma
Düşünsenize sitenizde üyelik girişi var ve hacker lar bu girişteki submit buttonuna program vasıtası ile 1000'lerce kez tıklıyor . Siteniz kasmazmı ?? Veya bir üye geliyor forumunuza 50 tane gereksiz mesaj yazıyor (asdasd vb. ) hadi işiniz yoksa silin bunları .. Peki bundan nasıl kurtulabiliriz ?? 2 Yolu var biri Session 'u kullanacağız diğer yolsa Resimli Onay kutusunu (CAPTCHA) kullanacağız ..

İlk yol Session :
Öncelikle bir ayar.asp sayfası yapın ve genel kodlarınızı buraya yazın mesela bağlantı gibi. Veya ayar.asp yi her sayfaya include edin ki tek tek her sayfada bağlantı kurmayın .. (<!-- include file="ayar.asp" -->)

Sonrada bu ayar.asp 'e
Kod:
Session.TimeOut=120
kodunu yazın ki Session'lar 2 saat sonra sıfırlansın 120 'yi dilediğiniz şekilde değiştirebilirsiniz 120 dk. dır yani 2 saat oluyo ..
Sonraki amacımızı belirleyelim amacımız her bilgi eklendiğinde önceden oluşturduğumuz Session 'u bir arttırmak ve Session yüksek bir rakamda ise hata verdirip bilginin eklenmemesini sağlamak ..

Kayıt sayfasına eklenecek kodlar ;
<%
' alttaki kodlarla session yoksa session oluşturduk varsa bir arttırdık

if Session("kontrol")="" THEN
Session("kontrol")="1"
elseif Session("kontrol")<>"" THEN
Session("kontrol")=Session("kontrol")+1
end if

if Session("kontrol")>"4" THEN 'yani session kontrol 4 den büyükse yani 5'se
Response.Write "<script>alert('En fazla 5 bilgi ekleyebilirsiniz ..')</script>" ' Hata verip geldiğin sayfaya yönlensin
Response.Redirect ""&Request.ServerVariables("http_referer")&""
Response.End()
End if

## Buraya da kayıtları yazın hiçbir değişiklik yapmanıza gerek yok eğer 5 mesaj yazmışsa buraya kadar gelemeyecek çünkü üstte Response.End var ##
%>



İkinci yol CAPTCHA yani bilgiyi eklemek için girilen formda güvenlik sayıları olacak bu sayıları doğru girmezseniz Veriyi eklemeyecek. Yani biri saçma sapan 50 tane veri yüklemek isterse her defasında güvenlik kodunu yazmak zorunda kalcak ..

Önce ekteki dosyayı indirin ve scriptinizin içine atın ..

Artık formunuzun içine güvenlik kodu resmini ekleyebilirsiniz.
Güvenlik Kodu :<img src="captcha.asp" maxlength="6"> Buraya yazın: <input name="strCAPTCHA">

Sonra bu sayfayla işimiz bitti ve asıl önemli olan kayıtların yapıldığı sayfaya geldik bu sayfaya ;
Kod:
<%
    if isnumeric(id)=false then
        Response.redirect "default.asp"
    Else
Function CheckCAPTCHA(valCAPTCHA)
SessionCAPTCHA = Trim(Session("CAPTCHA"))
Session("CAPTCHA") = vbNullString
if Len(SessionCAPTCHA) < 1 then
        CheckCAPTCHA = False
        exit function
    end if
if CStr(SessionCAPTCHA) = CStr(valCAPTCHA) then
    CheckCAPTCHA = True
else
    CheckCAPTCHA = False
end if
End Function
end if
%>

Bu kodu ekleyerek fonksiyonu kurun sonrada aşağısına bu kodu yazın !..

if checkCAPTCHA(Request.Form("strCAPTCHA"))=false and Session("uyetip")<>"Yönetici" THEN
Response.Write "<script>alert('Güvenlik Kodunu Yanlış Girdiniz ..')</script>"
Response.Redirect ""&Request.Server.Variables("http_referer")&""
Response.End()
end if

Buradaki Session("uyetip")="Yönetici"   sitenin adminine yani size kolaylık olsun diye yazılmıştır. Eğer üye girişi yaparken Session("uyetip")="Yönetici" olarak belirlerseniz sadece sizde güvenlik onayı gerekmez .. Kodun gerisi aynıdır ..
« Son Düzenleme: Mart 20, 2008, 17:58:09 ÖS Gönderen: Yunus Emre » Logged

-- KURT COBAIN --
Last Days / Death to birth
Sayfa: [1]   Yukarı git
  Yazdır  
 
Gitmek istediğiniz yer:  

Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC | Sitemap | Sitemap / Site Haritası
Giriş Sayfası Yap Sık Kullanılanlara Ekle
UzmanWeb.Net 2003-2007 © | Bilgi Paylaşım Sitesi | Sitemap
Sayfa Başına Dön
Sitemizde yer alan tüm bilgilerin bir kısmı diğer sitelerden derlenip yalnızca bilgilendirme ve eğitim amacıyla sunulmaktadır.
Uzman Toplist Asp İndir Popüler Siteler Linkdefteri.com

MKPortal ©2003-2006 mkportal.it