Asp Link Güvenliği

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BuZuL
    BuZuL's avatar
    Kayıt Tarihi: 09/Eylül/2005
    Erkek
    http://www.bilmemne.com/dene/deneyebildiginkadar/template2.asp?a=05&b=03
    şeklinde bir link ekliyorum veritabanına ve çekerken bunu link değişkenine aktarıyorum ve sonra buna link veriyorum
    <a target="_blank" href=" <%=link %> ">bilmemne.com</a> şeklinde fakat bu güvenlik açığı oluştururmu sistemde acaba ? herhangi bir yolla ?a=05&b=03 değişkenler normal sayfaya zarar verebilirmi ? veya link kayıt ve listeme olayı bu şekildemi yapmam sağlıklıdır sağlıklı değilse nasıl bir yöntem önerirsiniz ?

    DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA ÖRTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE ÖLÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KÖPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE.......
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Sorun teşkil etmez. Ama şöyle birşey var, diyelimki a=1 ve b=1 iken yöneticinin birşeyini veriyorsa o zaman tehlikeye girer.

    Aldığın adres satırı değişkenlerini filtrele.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BuZuL
    BuZuL's avatar
    Kayıt Tarihi: 09/Eylül/2005
    Erkek
    yok o türden bir değişken almıyorum sayfaya.

    DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA ÖRTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE ÖLÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KÖPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE.......
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek
    Sorun olmaz. Değişkenlerle işlem yapmıyorsan birşey olmaz.

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BuZuL
    BuZuL's avatar
    Kayıt Tarihi: 09/Eylül/2005
    Erkek
    ontedi bunu yazdı:
    -----------------------------
    Sorun olmaz. Değişkenlerle işlem yapmıyorsan birşey olmaz.
    -----------------------------
    eyv sagolasın hocam ilgilendiğin için peki ben bunu direk serverurl encode ile yapsam daha güvenli olur sanırım değilmi _

    DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA ÖRTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE ÖLÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KÖPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE.......
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tagext
    tagext's avatar
    Üstün Hizmet Madalyası Başarı Madalyası
    Kayıt Tarihi: 25/Temmuz/2002
    Erkek

    en güzeli şudur

    senaryo şu olsun sen url ile belli bir kişiyi bi sunucuya gondereceksin. kişinin numarası 3 olsun gonderileceği server numarasıda 5 olsun. Bu 3 ve 5 rakamının veritabanında karlıkıkları var. veritabanındaki kişi tablosunda 3 nolu kişi orhan olsun server tablosunda da5 nolu server 10.0.0.5 olsun.

    gonder.asp?kisi=3&server=5

    bu şekilde linki oluşturursan sql injection için kişi ve server parametresinin rakam olduğunu kontrol etmen lazım. adam yinede 3 ve 5 gelecek yere rastgele şeyler yazıp deneme yanılma yapabilir. Şindi bu sistemi nasıl koruruz.

    1- oncelikle kıçımızdan yeterince uzun bir string uydurmamız lazım. Bu stringe uygulama anahtarı diyelim

    2- uygulama anahtarı ile parametreleri bir hash algoritması ile birleştireceğiz. md5 olur sha olur size kalmış ben md5 olarak ornek vereyim.

    uygulama anahtarı şu olsun 2604d71d318aa15d3a34dadd981be561

    şimdi bizim urlyi şoyle vereceğiz.

    gonder.asp?kisi=<%=kisi%>&server=<%=server%>&kontrol=<%=KontrolKoduOlustur(kisi,server)%>

    KontrolKoduOlustur(kisi,server) fonksiyonu şunu yapsın

    bizim anahtar+kisi+server parametrelerini uc uca eklesin sonra md5 ini alsın yani şoyle.

    MD5[2604d71d318aa15d3a34dadd981be56135] = b11a3aed8584ac67d06883d97200c5d3

    yeni urlmiz şu şekilde olmuş olacak gonder.asp?kisi=3&server=5&kontrol=b11a3aed8584ac67d06883d97200c5d3

    gonder.asp sayfasında uygulama anahtarını kisi ve server parametrelerini bildiğimiz için bu kontrol kodunu tekrar oluşturur kontrol ederiz.

    eğer adam url ile oynamış ise yani kisi ve server rakamlarını değiştirmiş ise kontrol kodu tutmayacağı için adamın url ile oynadığını tespit etmiş oluruz.

     


    ftw
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BuZuL
    BuZuL's avatar
    Kayıt Tarihi: 09/Eylül/2005
    Erkek

    peki abi şöyle yapsam nasıl oluyor diyelimki linkin id si 10

    linke_kaykil.asp?link=15   bunu gonder.asp ye yönlendirip

    link=15 i alıp veritabanındaki 15. linki çekip linke_git değişkenine aktarıp direk response.redirect (linke_git) şeklinde yapsam daha kolay olmazmı ? bu sorun oluştururmu ? session vs. olmayacak linke_kaykil.asp sayfasında sadece yönlendirecek ve ben linke_git uzunluğunu vs sql enjeksiyonu vs. kontrol edeceğim.


    DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA ÖRTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE ÖLÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KÖPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE.......
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Rawkmetal
    Rawkmetal's avatar
    Kayıt Tarihi: 16/Şubat/2005
    Erkek

    buzul o kadar kasmana gerek yok
    fonksiyonla kontrol et eğer sql injection içeriyorsa banla

    fonksiyon
    Function obsecurity(id)
         If Not isNumeric(id) Then
           arrSqL = Array("Select", "DROP", ";", "--", "INSERT", "DELETE", "xp_", "UNION", "SHUT", "'")
          arrEnd = Array("&#83elect", "&#68rop", "&#59", "&#45&#45;", "&#73nsert", "&#68elete", "&#120p&#95", "&#85nion", "&#83hut&", "")
         For iSQL    = 0 to uBound(arrSqL)
           iIlkLen = Len(id)
          id    = Replace(id, arrSqL(iSQL), arrEnd(iSQL),1,-1,1)
        If iIlkLen - Len(id) > 0 Then
        set ob_security = server.createobject("ADODB.Recordset")
          obsql = "SELECT * FROM " & obtblfix & "Ban"
          ob_security.open obsql,obdb, 1, 3
          ob_security.AddNew
               ob_security("ip") = Request.ServerVariables("REMOTE_ADDR")
               ob_security("message") = "sql injection :/"
          ob_security.update : ob_security.close()
          Response.Redirect "/ban.asp"
        End If
        Next
        End If
          obsecurity = id
    End Function

    id=request.querystring("id")
    id=obsecurity(id) 

    kolay gelsin


    dünya yan geldi. dalganıza bakın...
Toplam Hit: 1116 Toplam Mesaj: 8