Cross Site Scripting (XSS)

Publicado por: cego
em 22/07/2020 às 14:34:55

Sabemos que muitos cibercriminosos aproveitam vulnerabilidades em diferentes servidores, em qualquer lugar do planeta, com a finalidade de hospedar campanhas de phishing ou malware. No entanto, muitas vezes exploram vulnerabilidades já conhecidas.
Em primeiro lugar, é importante ter em conta que com essa vulnerabilidade, os atacantes aproveitam a confiança que existe entre um usuário e um site em particular, o que já nos dá uma dimensão do impacto que pode ter.

O Cross-Site Scripting (XSS) é normalmente aplicado em páginas que sejam comuns a todos os usuários, como por exemplo a página inicial de um site ou até mesmo páginas onde usuários podem deixar seus depoimentos. Para que o ataque possa ocorrer é necessário um formulário que permita a interação do atacante, como por exemplo em campos de busca ou inserção de comentários.

Tipos conhecidos de XSS

Persistente (Stored)
Neste caso específico, o código malicioso pode ser permanentemente armazenado no servidor web/aplicação, como em um banco de dados, fórum, campo de comentários etc. O usuário torna-se vítima ao acessar a área afetada pelo armazenamento do código mal intencionado.

Esse tipo de XSS são geralmente mais significativos do que outros, uma vez que um usuário mal intencionado pode potencialmente atingir um grande número usuários apenas com uma ação específica e facilitar o processo de engenharia social. Em alguns casos, o navegador afetado pode até mesmo se comportar como se estivesse infectado por um worm, replicando cópias para cada usuário que execute o código mal intencionado.


Refletido (Reflected)

A exploração dessa vulnerabilidade envolve a elaboração de uma solicitação com código a ser inserido embutido e refletido para o usuário alvo que faz a solicitação. O código HTML inserido é entregue para aplicação e devolvido como parte integrante do código de resposta, permitindo que seja executado de maneira arbitrária pelo navegador do próprio usuário.

Este ataque geralmente é executado por meio de engenharia social, convencendo o usuário alvo que a requisição a ser realizada é legítima. As consequencias variam de acordo com a natureza da vulnerabilidade, podendo variar do sequestro de sessões válidas no sistema, roubo de credenciais ou realização de atividades arbitrárias em nome do usuário afetado.


Baseados no DOM (DOM based)

O Document object Model (DOM) é o padrão utilizado para interpretar o código HTML em objetos a serem executados pelos navegadores web. O ataque de XSS baseado no DOM permite a modificação de propriedades destes objetos diretamente no navegador do usuário alvo, não dependendo de nenhum interação por parte do servidor que hospeda o aplicativo web.

Diferentemente do ataque de XSS persistente ou refletido, o ataque baseado em DOM não necessita de interações diretas com o aplicativo web e utiliza-se de vulnerabilidades existentes na interpretação do código HTML no ambiente do navegador do usuário alvo.

Por Fim 

Você deve se assegurar que todas as entradas de dados do usuário não são confiáveis. Todos dados de usuário a serem utilizados para construção do contexto HTML (corpo, atributo, JavaScript, CSS ou URL) devem ser verificados para assegurar que não contenham nenhum conteúdo ativo (JavaScript, ActiveX, Flash, Silverlight, etc) e que sejam codificados de maneira apropriada, por exemplo, transformando metacaracteres em códigos de escape HTML.

 

Compartilhe essa notícia:
www.whitehats.com.br - Todos os direitos reservados
Subir