ASP.NET MVC – Evitando ataques de redirecionamento com o IsLocalUrl

Standard

 

Uma das novidades presentes na versão do ASP.NET MVC 3 é a inclusão de um novo método presente dentro da classe UrlHelper chamado IsLocalUrl. Este método nos permite passar uma string de Url como parâmetro e nos retorna em forma de bool se a mesma é uma Url local ou não.

 

Mas o que seria um ataque de redirecionamento?

Vamos imaginar que estamos trabalhando com a aplicação padrão do MVC 1 ou MVC 2. Note que, se a executarmos e tentarmos acessar a Action “ChangePassword” localizada em “AccountController”, é solicitado que seja realizado o login primeiramente. Assim como qualquer requisição que seja realizada para Actions que seja decorada com o atributo Authorize. Continue reading