Nasıl yapılır: MTS/ASP kodu CSSI güvenlik açã½ã ° ã½ için gözden geçirin.

Makale çevirileri Makale çevirileri
Makale numarası: 253121 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Özet

Bu makalede, nasıl belirleneceği ve siteler arası komut dosyası çalıştırma güvenlik sorunları (CSSI) için açık olan Microsoft Transaction Server/Active Server Pages (ASP) uygulamaları düzeltin. Doğru geçerliliği biçimlendirilmiş veya yalnızca bir giriş uygulamanız gerçekleştirilen saldırılara karşı savunmasız hale getirir.

Daha fazla bilgi

Bu nedenle, sunu katmandan en iyi tackled CSSI sorunları bir uygulama, biçimlendirme, <a0>veri doğrulama ve</a0> işleme biçiminde yer alan.

Bu katman genellikle, ASP sayfalarının oluşur ve zaman zaman, içinde görüntülemek için HTML ASP sayfasının işlenmesinde yardımcı olan bazı bileşenler içerebilir.

Ikinci durumda, uygulama kendisini CSSI yalnızca ASP uygulama olarak korumak için aynı işlemleri gerçekleştirmelisiniz olsa da, fiziksel uygulaması bazı ASP sayfalarında çalıştırmak için doğrulama ve biçimlendirmeleri kod ve bazı bileşenindeki oluşturacağını unutmayın önemlidir. CSSI ve ASP hakkında ayrıntılı bilgi için lütfen aşağıdaki Microsoft Knowledge Base makalesine bakın:
253119ASP kodu CSSI güvenlik açã½ã ° ã½ için gözden geçir nasıl
Aşağıdaki adımları belirlemek ve ASP uygulamaları için CSSI açık düzeltmek yardımcı olur:
  1. ASP veya bileşen görüntülenecek HTML oluşturur ve kod. Iki genel senaryoyu vardır:
    • Bileşen oluşturur ve ASP doğrudan yanıt yazacak bir HTML dizesi döndürür.
    • Bileşen, dahili olarak sayfaya doğrudan yazmak için Response.Write çağırır. Genellikle yanıt nesne başvurusu ObjectContext GetObjectContext.Item("Response") ça??rarak elde edilir.
  2. HTML çıkışı'nın uygulama verilerini içerip içermeyeceğini belirler. Bu veri kaynakları, veritabanları, <a2>Dosya</a2>, <a4>tanımlama bilgileri gibi çeşitli diğer nesne değişkenleri gelir ve benzeri.
  3. Bir uygun çözümü belirleyin. ASP veya bileşen bulunan HTML kullanarak oluşturduğu kodu bazı özel uygulamanız için uygun bir çözüm belirlemek girişi,. Çözümler içerir (ancak bunlarla sınırlı değildir) geçersiz veri doğrulama/süzme veya onu kodlama.

Biçimlendirme kuralları

Bu yönergelere uygun biçimlendirme hissediyorsanız yeri belirlemenize yardımcı olur.

Bir sayfaya yazılırken bilgi, belirli bir uygulama veri HTMLEncoded olması gerekir. Bu çok HTMLEncode HTML sayfası sona erdirmek için hazırlanmış etiketleri önemli değildir. Bu nedenle, bileşen işlevlerinizi HTML dönerseniz, the HTMLEncode içinde yapılması gerekir.

HTMLEncode için bir dize gelen bir bileşen, ASP sunucu nesnesine bir başvuru gerekir. Bu başvuru MTS ObjectContext.Items topluluğundan alın:
sGoodHTML = GetObjectContext.Item("Server").HTMLEncode(sRawData) 
				
örnek: Bu kod, bir recordset alınmış değerlerle tablo satırları oluşturur. Bu kod çıktı kodla:
Do While Not oRecordset.EOF
     sHTML = sHTML & "<TR>" 
     sHTML = sHTML & "<TD>" & oRecordset("FirstName") & "</TD>"
     sHTML = sHTML & "<TD>" & oRecordset("Address") & "</TD>"
     sHTML = sHTML & "</TR>" 
Loop
				
bu kodu sabit olduğunda, kendilerini değerleri tüm HTML dizeyi yerine HTMLEncoded unutmayın:
Dim oServer As ASPTypeLibrary.Server

Set oServer = GetObjectContext.Item("Server")

Do While Not oRecordset.EOF
     sHTML = sHTML & "<TR>" 
     sHTML = sHTML & "<TD>" & oServer.HTMLEncode( oRecordset("FirstName")) & "</TD>"
     sHTML = sHTML & "<TD>" & oServer.HTMLEncode( oRecordset("Address")) & "</TD>"
     sHTML = sHTML & "</TR>" 
Loop

Set oServer = Nothing
				
Ara oServer nesne başvurusu kullanımına dikkat edin. Bu özellik, erken bağlama olanaklarından yararlanacak şekilde ve her zaman ObjectContext.Item arama çözme önlemek için eklenmiştir. Bir nesne olarak ASPTypeLibrary.Server bildirmek için <a0></a0>, "Microsoft Active Server Pages Nesne Kitaplığı'na.", bir başvuru içermelidir.

Lütfen, aşağıdaki yönergeleri dikkate alın:
  • Işletme bileşenleri HTMLEncode çağırmalısınız (bunlar da HTML işleme sürece) değil. Bu, sunu katmanı bir görevdir.
  • Genellikle, bileşenleri HTMLEncode veya ASP nesnelerine birini kullanarak ınternet ınformation Server (IIS) aynı bilgisayarda fiziksel olarak çalıştırmalısınız.
  • Çözümler içerir (ancak bunlarla sınırlı değildir) giriş parametreleri doğrulama ve biçimlendirme Giriş parametreleri.

Referanslar

Daha fazla bilgi için aşağıdaki gelen Computer Acil Durum yanıt ekibi (CERT) Carnegie Mellon University'deki danışma belgesine bakın:
http://www.cert.org/advisories/CA-2000-02.html
Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
252985Siteler arası komut dosyası güvenlik konuları, Web uygulamaları için engelleme
253120Visual ınterdev gözden geçirmek nasıl generated CSSI güvenlik açã½ã ° ã½ için
253117Nasıl yapılır: ınternet Explorer ve Outlook Express'i CSSI Güvenlik Açığı'nı engelle

Özellikler

Makale numarası: 253121 - Last Review: 2 Şubat 2014 Pazar - Gözden geçirme: 2.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Transaction Services 2.0
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbcssi kbhowto KB253121 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:253121

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com