SORU
12 EKİM 2011, ÇARŞAMBA


bir url içinde çift çıkış sırası : istek modülü bir çift çıkış sırasını içeren bir isteği reddetmek üzere yapılandırılmış filtreleme

ASP.NET MVC başvurum hakkında, aşağıdaki gibi bir URL uygulamak için çalışıyorum :

/ürün/etiketler aileler için

Varsayılan yapılandırmaları ile benim uygulama çalıştırmak için çalışırken, 404.11 Yanıt Kodu ile bu mesajı alıyorum :

HTTP Hatası 404.11 - Bulunamadı

İstek filtreleme modülü bir isteği reddetmek için yapılandırıldı içeren bir çift çıkış sırasını.

Aşağıdaki kod benim web içinde uygulayarak bu hata ile elde edebilirim.config :

  <system.webServer>
    <security>
      <requestFiltering allowDoubleEscaping="true" />
    </security>
  </system.webServer>

Şimdi 404.11 herhangi bir almıyorum.

Merak ediyorum ne bu uygulama ile açıyorum ne olduğunu.

BTW, benim uygulama .Net Framework 4.0 IIS 7.5 altında çalışıyor.

CEVAP
12 EKİM 2011, ÇARŞAMBA


Aç kod enjeksiyon ile yapmak zorunda kalabilirsiniz güvenlik açıklarına HTML enjeksiyon, JavaScript enjeksiyon ya da SQL enjeksiyon.

Varsayılan ayarlar ortak enjeksiyon stratejileri çalışmaya izin vermeyerek saldırılardan yarı etkin bir şekilde korumak. Varsayılan güvenlik daha çok Kaldır, daha çok giriş URL, istek querystrings, POST isteği verileri, HTTP başlıkları ile sağlanan ve böylece ne hakkında düşünmek zorunda...

Eğer eylem yöntemi id parametre dayalı dinamik SQL sorguları bina iseniz, örneğin, bu gibi:

public ActionResult Tags(string id)
{
    var sql = "SELECT * FROM Tags Where tagName = '"   id   "'";
    // DO STUFF...
}

(...olanDEĞİLiyi bir fikir), varsayılan koruma, tarafından yerine koymak .NET çerçeve, daha tehlikeli senaryolar, bu URL isteme: kullanıcı gibi bazı durdurabilir

/product/tags/1';drop table Tags; --

Tüm fikir Olası tehditler olarak eylem yöntemleri için URL ve diğer girdilerin her kısmı tedavi etmektir. Varsayılan güvenlik ayarı için özel bir koruma sağlar. Her varsayılan güvenlik ayarı elle işlemek için gereken biraz daha potansiyel bir kötülük için açılır.

Tabii ki SQL sorguları bu şekilde bina olmadığını varsayıyorum. Ama daha sinsi şeyler veritabanınızda kullanıcı girişi saklamak, daha sonra onları görüntüleyen geliyor. Kötü niyetli kullanıcı sırayla sistemin diğer kullanıcıları tehdit edecek olan unencoded dışarı, veritabanı, JavaScript veya HTML depolayabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ASUS

    ASUS

    22 EKİM 2005
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009
  • TheRightTire

    TheRightTire

    14 EKİM 2009