Conheça nosso Grupo De Estudos!



Cross-Site-Scripting (XSS)


Cross-Site-Scripting (XSS) têm se tornado frequentes e temos acompanhado essa evolução principalmente no CMS open source WordPress e seus plugins, cujas falhas, que afetam milhões de instalações, têm sido divulgadas nos últimos dias por pesquisadores.




O ataque de XSS permite a injeção de códigos JavaScript:

<script> 
    alert("Site com xss");
</script>


Nos navegadores, o JavaScript malicioso parece ser como parte integrante do site, o que torna o ataque efetivo e quase imperceptível para a vítima.

Podemos considerar um JavaScript como sendo malicioso quando ele consegue acessar informações confidenciais dos usuários, como os cookies ou quando são enviadas requisições HTTP contendo scripts maliciosos que podem usar o XMLHttpRequest. Claro que estes são apenas alguns exemplos, mesmo porque os ataques de XSS permitem uma série de combinações no ataque.

Tipos de XSS:

Reflected XSS: Acontece quando o servidor não filtra os dados enviados em algum tipo de formulário ou parametro. 

Persistent XSS: Quando injetado o código fica na página do servidor fazendo com que altere seu perfil.

Dom Based XSS: Vulnerabilidade em algum dos componentes da página, sendo que o script faz alterações no HTML atual da página através da manipulação do DOM. 

Evitando esse tipo de ataque

Para evitar esse tipo de “injeção de código”, uma manipulação dos dados de entrada segura se faz necessária. Existem duas maneiras básicas de fazer isso:

Via encoding: esse recurso permite implementar o “escape” dos dados (que nada mais são que strings) fazendo com que o browser os interprete apenas como dados, e não como código.

<?php $campo = htmlspecialchars($_GET['campo']); ?>


Eliminamos todo tipo de entrada de códigos html,javascript php e sql.


Via validação: esse método filtra a entrada de dados do usuário para que o navegador a interprete como código sem comandos mal-intencionados.