Gönderen Konu: Asp açıkları , kapatılmaları ve Asp'De Güvenlik (Yeni Yazılımcılar bakmalı)  (Okunma sayısı 4573 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Yunus Emre

  • İleti: 611
  • Puan: 52
  • Cinsiyet: Bay
  • Doğduğum gün, öleceğim gün, diriltileceğim gün.
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: [Seç]
'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 :D
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: [Seç]
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 ..
Konuyu Paylaş:
  delicious  facebook  twitter  google
Tema Reklam - Tanıtım.

Çevrimdışı Yunus Emre

  • İleti: 611
  • Puan: 52
  • Cinsiyet: Bay
  • Doğduğum gün, öleceğim gün, diriltileceğim gün.
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: [Seç]
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: [Seç]
<%
    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 »
Tema Reklam - Tanıtım.

 

Benzer Konular

  Konu / Başlatan Yanıt Son İleti
0 Yanıt
1000 Gösterim
Son İleti Ocak 22, 2007, 11:41:10 ÖÖ
Gönderen: CaSh
3 Yanıt
1030 Gösterim
Son İleti Kasım 27, 2007, 16:46:27 ÖS
Gönderen: GateSXraY
0 Yanıt
1058 Gösterim
Son İleti Haziran 02, 2009, 19:00:39 ÖS
Gönderen: CarexWeb
3 Yanıt
1661 Gösterim
Son İleti Ağustos 20, 2011, 09:23:18 ÖÖ
Gönderen: gencler
1 Yanıt
1343 Gösterim
Son İleti Mart 18, 2010, 15:01:40 ÖS
Gönderen: burajan