Skydda dig mot Cross Site Scripting med hjälp av Microsoft Anti-Cross Site Scripting Library och XSSDetect

Cross Site Scripting innebär att en hackare kan komma åt användares data och i värsta fall stjäla deras inloggningsidentitet genom att injecera någon typ av scriptkod (Javscript/VBscript) eller objektreferens (ActiveX, Shockwave, Flash) i en webbsajt. Cross Site Scripting brukar förkortas XSS för att inte blandas ihop med Cascading Style Sheet.

Ett typiskt scenario kan vara en gästbok där en inloggad användaren låter anonyma användare skriva in kommentarer. En hackare postar in ett script i sidan som ligger dolt i gästboken. Scriptet läser cookies från de användare som öppnar gästboken och skickar informationen till en server som hackaren kontrollerar. När den inloggade användaren läser sin gästbok kommer cookien med hans inloggade identitet att skickas och hackaren kan ta över hans identitet i sajten.

För att minska attackytan för XSS är det viktigt som applikationsutvecklare att:

1. aldrig, aldrig någonsin lita på data som skickas från användare och

2  alltid koda om data som lagrats av användare innan det skrivs ut till en webbsida

För att underlätta detta har Microsoft tagit fram två stycken hjälpmedel:

  • Anti-Cross Site Scripting Library, ett bibliotek med hjälpfunktioner för att filtrera indata och koda om utdata. Observera att filtreringen bygger på s.k. white lists - d.v.s. man anger explicit vad som är tillåtet istället för att försöka filtrera bort alla upptänkliga varianter av skadlig kod.
  • XSSDetect Beta, en add-in till Visual Studio som är en nedbantad version av Code Analysis Tool for .NET som används internt på Microsoft för att hitta skadlig kod. XSSDetect analyserar din ASP.NET-applikation och hjälper dig att hitta XSS-sårbarheter.

XSSDetectBeta

För att kunna köra XSSDetect Beta i Visual Studio 2008 krävs att du gör följande ändring:

Öppna XSSDetect.addin som ligger under
Documents and Settings\<username>\Application Data\Microsoft\MSEnvShared\Addins (på XP) eller
\users\<your alias>\AppData\Roaming\Microsoft\MSEnvShared\Addins (på Vista), och lägg till följande rad under HostApplication:
<Version>9.0</Version>

Du kan läsa mer om XSSDetect på ACE-teamets blog: https://blogs.msdn.com/ace_team/