Microsoft Anti-Cross Site Scripting Library
Jak to się mogło stać, że jeszcze o tym nie napisałem? Pora nadrobić zaległości. Microsoft udostępnił już jakiś czas temu bibliotekę pod wiele mówiącą nazwą Microsoft Anti-Cross Site Scripting Library. Aktualna wersja to 1.5, dostępna jest do pobrania tutaj.
Co ta biblioteka robi? Sama z siebie – nic. To nie działa w ten sposób, że instaluje się bibliotekę na serwerze i wszystkie aplikacje (no dobrze, te napisane w ASP.NET) nagle stają się automatycznie odporne na cross-site scripting. Biblioteka ta ułatwia jednak życie programistom. Wielokrotnie pisałem o tym, że dane muszą być encodowane , przy czym zastosowany encoding jest zależny od kontekstu (interpretera), w którym zostaną one użyte. Inne reguły powinny być zastosowane w przypadku “czystego” HTML, inne, gdy dane wstawiane są w skrypt JavaScript, jeszcze inne, gdy budowany jest URL. Biblioteka Microsoft.Security.Application.AntiXss udostępnia funkcje:
- HtmlAttributeEncode,
- HtmlEncode,
- JavaScriptEncode,
- UrlEncode,
- VisualBasicScriptEncode,
- XmlAttributeEncode,
- XmlEncode,
Wystarczy zawołać odpowiednią funkcję w odpowiednim momencie, co nie koniecznie musi być takie oczywiste.
Oryginał tego wpisu dostępny jest pod adresem Microsoft Anti-Cross Site Scripting Library
Autor: Paweł Goleń