Jak zkontrolovat MTS/ASP kód pro chybu zabezpečení CSSI

Překlady článku Překlady článku
ID článku: 253121 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Tento článek popisuje identifikovat a opravit aplikace ASP (Microsoft Transaction Server/Active Server stránky), které webů skriptovací problémy se zabezpečením (CSSI). Umožňuje pouze vstup, který je nesprávně ověřit nebo formátu aplikace zranitelný vůči útokům.

Další informace

CSSI problémy jsou kořenem ve způsobu, jakým aplikace zpracovává ověření dat a formátování, tak je nejlépe řešit z vrstvy prezentace.

Tato vrstva bude obvykle skládají z stránek ASP a občas může zahrnovat některé součásti, které pomáhají ve vykreslování HTML pro stránku ASP k zobrazení.

V takovém případě je důležité si uvědomit, že přestože aplikace by měly provádět stejné operace pro jeho ochranu před CSSI jako aplikace pouze pro prostředí ASP, provádění fyzické způsobí některé ověřování nebo formátování spuštění kódu na stránkách ASP a některé v komponentě. Podrobné informace o CSSI a ASP naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
253119Jak zkontrolovat kód ASP pro chybu zabezpečení CSSI
Následující kroky vám pomohou identifikovat a opravit aplikace ASP náchylná k CSSI:
  1. Hledat ASP nebo součástí kód, který generuje HTML má být zobrazen. Existují dva typické scénáře:
    • Součást vytvoří a vrátí řetězec formátu HTML, ASP bude psát přímo na odpověď.
    • Součást volání Response.Write interně k zápisu přímo na stránku. Obvykle odkaz na objekt odpověď je získáno ObjectContext voláním GetObjectContext.Item("Response").
  2. Zjistěte, zda výstup obsahuje data aplikací. Tato data mohou pocházet z různých zdrojů, jako je například databáze, soubory, soubory cookie, jiné proměnné objektu a tak dále.
  3. Určit vhodné řešení. S nalezeno ASP nebo součástí kód, který generuje HTML pomocí některé vstup, je třeba určit vhodné řešení pro konkrétní aplikaci. Řešení zahrnuje (ale nejsou omezeny pouze) ověření/filtrování neplatná data nebo jeho kódování.

Pokyny pro formátování

Tyto pokyny vám pomůže identifikovat kde řešení vhodně formátování.

Při zápisu informací na stránku, data určité aplikace, musí být HTMLEncoded. Je důležité na že HTMLEncode tagy, které jsou určeny k ukončení do stránky HTML. Proto pokud funkce komponenta HTML se vrátíte HTMLEncode je nutné provést v nich.

Chcete-li HTMLEncode řetězec od komponenty je třeba odkaz na objekt serveru ASP. Tento odkaz můžete získat z kolekce MTS ObjectContext.Items:
sGoodHTML = GetObjectContext.Item("Server").HTMLEncode(sRawData) 
				
Příklad: Tento kód bude generovat řádky tabulky s hodnotami z sadu záznamů. Tento kód není kódování výstupu:
Do While Not oRecordset.EOF
     sHTML = sHTML & "<TR>" 
     sHTML = sHTML & "<TD>" & oRecordset("FirstName") & "</TD>"
     sHTML = sHTML & "<TD>" & oRecordset("Address") & "</TD>"
     sHTML = sHTML & "</TR>" 
Loop
				
Pokud tento kód je stanovena, nezapomeňte, že jsou hodnoty samotné HTMLEncoded, spíše než celý řetězec HTML:
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
				
Poznámka využívání mezilehlé oServer odkaz na objekt. Toto je zahrnuty využít výhod časná vazba a vyhnout se řešení při každém vyhledávání ObjectContext.Item. Chcete-li deklarovat jako ASPTypeLibrary.Server objekt, musí obsahovat odkaz na "Microsoft Active Server Pages Knihovna objektů."

Prosím brát v úvahu následující pokyny:
  • Obchodních komponent by měl zavolat není HTMLEncode, (pokud jsou také jsou vykreslování HTML). Toto je úkol vrstvy prezentace.
  • Komponenty pomocí HTMLEncode nebo některý z objektů prostředí ASP vhodné obecně, spustit fyzicky na stejném počítači jako Internet Information Server (IIS).
  • Řešení zahrnuje (ale nejsou omezeny pouze) ověření vstupních parametrů a formátování vstupní parametry.

Odkazy

Další informace naleznete v tématu následující z počítač nouzovou Response Team (CERT) na University Mellon Carnegieho informačního zpravodaje:
http://www.cert.org/advisories/CA-2000-02.html
Další informace získáte v následujícím článcích v databázi Microsoft Knowledge Base:
252985Jak zabránit webů skriptovací problémy se zabezpečením u webových aplikací
253120Jak zkontrolovat Visual InterDev generován kód pro chybu zabezpečení CSSI
253117Jak zabránit chyba zabezpečení aplikace Internet Explorer a Outlook Express CSSI

Vlastnosti

ID článku: 253121 - Poslední aktualizace: 5. února 2014 - Revize: 2.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Transaction Services 2.0
Klíčová slova: 
kbnosurvey kbarchive kbmt kbcssi kbhowto KB253121 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:253121

Dejte nám zpětnou vazbu

 

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