folder Tahribat.com Forumları
linefolder Bilişim Güvenliği
linefolder Querystring'den Kelime Alınca Nelere Dikkat Etmeliyiz?



Querystring'den Kelime Alınca Nelere Dikkat Etmeliyiz?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    Selam millet,

    Sitenin sayfaları arası bilgi taşırken QueryStringde dönen veriler siteye saldırı yapmak için girenlere büyük kolaylık sağlıyor malumunuz üzere.

    Eğer bu QueryString'de rakamsal bir değer taşıyorsak kontrolu biraz daha kolay (sayfa.aspx?id=23). Harfmi rakam mı kontrolu ile güvenliği sağlıyoruz. Ancak kelime taşındığı zaman (sayfa.aspx?adi=ali-ata-bak) rakam kontrolu gibi kolay olmuyor. Burda nelere dikkat etmeliyiz? Yani database'yi ne yaparsak korumuş oluruz. Delete,Update,Select gibi t-sql kodlarını yememesini nasıl sağlarız? Şimdi ben QueryStringde "delete" harfini silerim ancak bu defa orjinal içerikde de "delete" kelimesi geçince onuda silmiş oluyorum bölelikle sıkıntı yaşamış oluyoruz. 

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    acemi-webci
    acemi-webci's avatar
    Kayıt Tarihi: 11/Haziran/2008
    Erkek

    querystring le ne tür bi yazı çekmen gerekir ki?
    post metoduyla göndersen daha sağlıklı değil mi?

    ,,,,,

    örneğin delete geçen bir yazı var, bir fonksiyon oluşturup bu delete kelimesini örnegin -memelete- diye değiştirirsin db ye öyle kaydedersin, bu texti çekerkende yine bir fonksiyonla, -memelete- kelimesini delete ye çevirirsin olur biter.


    ...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    acemi-webci bunu yazdı:
    -----------------------------

    querystring le ne tür bi yazı çekmen gerekir ki?
    post metoduyla göndersen daha sağlıklı değil mi?

    ,,,,,

    örneğin delete geçen bir yazı var, bir fonksiyon oluşturup bu delete kelimesini örnegin -memelete- diye değiştirirsin db ye öyle kaydedersin, bu texti çekerkende yine bir fonksiyonla, -memelete- kelimesini delete ye çevirirsin olur biter.


    -----------------------------

    urlWrite için queryString kullanmak zorundayım yoksa benımde çok sevdiğim birşey değil heleki harfli birşey kullanmam gerekiyor ise.

    Hocam kullanıcı içeriğinde "memelete" diye birşey de ekliyebilir o zamanda çakışır verdiğin örnek. Ben daha çok bir fonksyon yapıp tüm zararlı olabilicek içerikleri orda toplamak istiyorum.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    ado.net kullanıyorsan,parametre kullan t-sql cümleciklerinde,

    zaten entity framework veya linq to sql kullanıyorsan injection yemek biraz zor (:


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    SharpShooter bunu yazdı:
    -----------------------------

    ado.net kullanıyorsan,parametre kullan t-sql cümleciklerinde,

    zaten entity framework veya linq to sql kullanıyorsan injection yemek biraz zor (:


    -----------------------------

    ado net kullanıyorum ancak parametreler tek başına yeterli olucakmıdır ?

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Blitz
    Blitz's avatar
    Kayıt Tarihi: 30/Eylül/2007
    Erkek
    Bilmiyorum istediğin cevap mi ama klasik aspde genellikle 'or' 'delete' 'update' 'where' 'union' gibi şeyleri nullstring ile replace eden bi fonksiyon yazılır query fonksiyondan geçirilip öyle kullanılır :) böylece db işlemi veya kod sokma işlemi yapılamaz :)

    validen
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    delete select vs kelimerlerini boşverip tırnak slash eksi işaretlerini uygun kodlarla değiştirmeyi nedesen. Ascii olarak hepsinin bir kodu var.tırnak işaretini Lj ile değiştirirsen kayıtta sorun çözülür. sayfanın charset ayarlarını doğru yaparsan sorun çıkmaz diye düşünüyorum.kullanıcının karşısına &$304; gibi bir karakter çıkması hoş dğeil.


    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Tırnak, <, > gibi zarar vereceğini düşündüğün şeyleri silmelisin.

    Ayrıca sadece select  gibi kelimeleri silmek pek mantıklı olmaz. Sileceksen SELECT *   gibi kelimeleri silmelisin. Bir başka örnek ise "Update


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    o zaman QueryString ile sadece özel karakterlerin önlemini alsam yeterli olur mu ? Sql Injection kullanımında geçerli olanları yani ?

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Blitz
    Blitz's avatar
    Kayıt Tarihi: 30/Eylül/2007
    Erkek
    Enjeksiyon u engellemiş olursun ışte :) benim tavsiyem db ye yazma işleminde query verisini kullanmaman tehlikeye daha açık olduğu için :) sadece arama vs de kullan en iisi :)

    validen
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    Db'ye yazma işlemlerinde kullanmam hocam ancan urun detay gibi sayfalarda select yaparken kullanıyorum ordanda içeri injection atılabilyor.

     

    Aklınıza gelen sql injectionda kullanılan özel Karakter listesini yazarmısınız buraya

    ' ==> Tek  tırnak

    < ==>Küçüktür

    > ==>Büyüktür

Toplam Hit: 12093 Toplam Mesaj: 15