Cross-Site Scripting (xss): Riscos e Soluções

Cross-site-scripting attacks, ou Xss como são conhecidos, são um tipo de Injection attacks, onde scripts maliciosos são injetados através de parâmetros confiáveis em um Website. O ataque de XSS ocorre quando um atacante utiliza a aplicação web para enviar códigos maliciosos, geralmente na forma de Browser Side Scripts para um usuário acessar.

O atacante pode utilizar o XSS para enviar um script malicioso com diversas finalidades:

- Roubar cookies do browser para efetuar um seqüestro de sessão;
- Iludir o usuário para que este acessse um determinado conteúdo e preencha dados seus pensando que está utilizando o site real, quando na verdade o conteúdo que o mesmo está acessando faz parte de um HTML malicioso que foi embutido em algum componente vulnerável da aplicação.

Os ricos de ataques XSS podem ser variáveis, pois depende muito do que o atacante pretende fazer com a falha que ele encontrou. Desta forma o XSS pode ser o vetor para uma infinidade de outros ataques muito mais perigosos como Browser Hijacking, ClickJacking e XSRF (Cross-site Request Forgery).

Como proteger sua aplicação para evitar que este tipo de falha seja utilizado contra seus usuários permitindo que credenciais sejam roubadas?

Dica importante:

Dados não Confiáveis

Dados não confiáveis são todos aqueles dados que são originados a partir de HTTP requests, em forma de parâmetros URL, form fields, headers ou Cookies. Porém dados que são originados a partir de Databases, web services e outros sources são frequentemente tratados também como não confiáveis a partir da perspectiva de segurança.

Todos os dados que sua aplicação utilizada devem ser sanitizados para remover caracteres de escape entre outras coisas. Nunca se deve trabalhar diretamente com dados inseguros em funções que injetem ou exibam informações em uma database ou em um form HTML.

(leia: Roteiro para a melhoria da segurança dos sistemas)



Colunista

Ivo Machado

Diretor de Operações da In2Sec (Itelligence to Security), é formado em Análise de Sistemas com MBA em Gestão de Riscos, atuou em diversas empresas nacionais e multinacionais, no Brasil e exterior. Especialista em Gestão de Riscos e Segurança da Informação, é responsável pelas operações das Américas da Certificadora TrustSign e das Consultorias de Segurança e-Horus e A.



Mais artigos sobre desenvolvimento web

ABRAWEB - Associação Brasileira de Profissionais de Internet | CNPJ 05037868/0001-80