pracuję nad XSS (skrypty między witrynami) problemy z moją aplikacją internetową. Aplikacja ma wiele kontrolek użytkownika, które pobierają dane wejściowe użytkownika.
Natknąłem się na ten artykuł http://www.asp.net/whitepapers/request-validation
Czy możesz odpowiedzieć na poniższe pytania:
Czy są jakieś wady używania? validateRequest="true" na poziomie aplikacji (w web.config)?
Czy jest jakiś lepszy sposób na naprawienie problemów XSS poza uruchamianiem każdej kontrolki i kodowaniem HTML?
Z góry dziękuję.
Odpowiedzi:
1 dla odpowiedzi № 1Coś, co początkowo przychodzi na myśl, to:
Jeśli dodajesz retrospektywnie validateRequest
do witryny, wówczas wszelkie dane wejściowe użytkownika zawierające złośliwe skrypty, które już przechwyciłeś i przechowywałeś w bazie danych, nadal stanowią lukę w zabezpieczeniach Twojej aplikacji, validateRequest
nie chroni cię tutaj, kodowanie HTML będzie.
Może być trudno przebrnąć przez twojeaplikacja i HTML Zakoduj wszystko, jeśli naprawdę Ci przeszkadza, to jest to zło konieczne. Hakerzy zawsze wymyślają nowe metody. Jeśli korzystasz z Biblioteki, będziesz musiał poczekać na aktualizacje, aby załatać nowe dziury, jednocześnie pozostawiając swoją witrynę podatną na ataki - uważam, że kodowanie HTML jest twoją najlepszą bronią do obrony przed atakami XSS.
Powiedziawszy to, daj to szybko przeczytać:
Will HTML Kodowanie zapobiec wszelkiego rodzaju atakami XSS?