Qual é a melhor maneira de evitar ataques XSS?

as vulnerabilidades de script entre sites foram exploradas por invasores desde o início dos anos 2000, e o XSS está na lista do OWASP Top 10 de riscos críticos de segurança para aplicativos da web a partir de 2004. No entanto, muitos desenvolvedores, administradores de sistema e até mesmo alguns testadores de penetração ainda não levam isso a sério. Para se tornar um hacker ou defensor eficaz de aplicativos da web, você deve entender o básico de como evitar ataques XSS.

os ataques XSS ainda são problema

Cross-site scripting é um tipo de vulnerabilidade de aplicativo da web que permite aos invasores injetar e executar código malicioso do lado do cliente no navegador da vítima dentro de um aplicativo da web legítimo.

o impacto e a gravidade dos ataques XSS bem-sucedidos podem variar. Os ataques XSS podem resultar em sequestro de sessão, tokens roubados, cookies de sessão roubados e ataques de falsificação de solicitação entre sites. Esses ataques podem fazer com que as contas de usuário sejam comprometidas.

um ataque XSS bem-sucedido também pode permitir que um invasor use cookies roubados ou forjados para se passar por usuários válidos. Nos casos em que o usuário válido tem direitos administrativos dentro do aplicativo, o invasor pode usar esses privilégios para alterar páginas ou executar código remoto no lado do servidor do aplicativo.

tipos de ataques XSS

existem três tipos de ataques XSS: armazenados, refletidos e Document Object Model (DOM) com base.

  1. um ataque XSS armazenado permite que um invasor incorpore um script malicioso em uma página vulnerável, que é executada quando uma vítima visualiza a página. O XSS armazenado é considerado o tipo mais prejudicial de ataque XSS. Por exemplo, quando um invasor injeta uma carga útil JavaScript maliciosa diretamente em um aplicativo da web vulnerável, o navegador da web salva a carga útil JavaScript injetada. Então, cada vez que a vítima visita esse site ou aplicativo da web, o código malicioso é executado.
  2. um ataque XSS refletido ocorre quando a carga maliciosa é incorporada em um link e ativada apenas quando o usuário clica no link. Aqui, a carga maliciosa não é armazenada, mas exibida apenas na página da web na forma de um URL ou dados de postagem.
  3. uma vulnerabilidade XSS baseada em DOM surge quando o DOM é usado para gerar conteúdo dinâmico contendo entrada do usuário que pode ser processada sem verificação. Este tipo de ataque é realizado com JavaScript no navegador da vítima

ataque de XSS prevenção

> Para evitar ataques de XSS, os desenvolvedores devem validar a entrada do usuário, devidamente filtrar ou escapar caracteres especiais e, em seguida, a codificação da saída para evitar ataques de XSS armazenado e refletido ataques de XSS. Os seguintes caracteres especiais devem sempre ser filtrados ou escapados para evitar que sejam explorados de forma maliciosa:

<

>

)

(

&

os Desenvolvedores devem validar a entrada do usuário-fontes-e codificar a saída — pias — para evitar baseado em DOM ataques de XSS. A propriedade fonte de entrada é de onde o DOM lê, e a fonte é onde o invasor pode injetar código malicioso para explorar a vulnerabilidade XSS. As seguintes propriedades da fonte deve ser evitado:

  • URL
  • documentURI
  • localização
  • href
  • pesquisa
  • hash

Sumidouros são os pontos onde o DOM executa o mal-intencionados caracteres ou códigos de entrada — fonte — que, por sua vez, é enviado para a página da web. Esses sumidouros devem ser evitados para evitar ataques XSS baseados em negação de serviço:

  • innerHTML
  • outerHTML
  • escreva

se você gostaria de melhorar a compreensão e prevenção de ataques XSS, o Google construiu um site de jogos XSS para aprender como esses ataques funcionam e como melhor evitá-los. O projeto Mutillidae 2 da OWASP também oferece um alvo de aprendizado para profissionais de segurança da web afiarem suas defesas de ataque XSS.

Deixe uma resposta

O seu endereço de email não será publicado.