Cross-site scripting attacks (XSS) são usados para roubar dados e sequestrar sessões de navegação para que os invasores possam agir em nome de uma vítima. Os invasores podem usar essa oportunidade para alterar páginas da web, postar em contas sociais, iniciar transferências bancárias ou fazer compras fraudulentas.
isso é conseguido enganando aplicativos e sites para o envio de scripts maliciosos através do navegador da web. O método mais comum para assumir as sessões do Usuário é injetar código usando campos de formulário ou outros campos de entrada de dados.
- os riscos de ataques XSS
- risco para os usuários
- risco para empresas
- tipos de ataques XSS
- ataques XSS refletidos
- ataques XSS baseados em DOM
- ataques XSS persistentes/armazenados
- como prevenir ataques XSS
- mantenha o software atualizado
- higienizar e validar campos de entrada
- firewall de aplicativos da Web
- Política de segurança de conteúdo
os riscos de ataques XSS
os ataques XSS representam riscos vitais de segurança para usuários e empresas.
risco para os usuários
atacantes que sequestram a sessão de um usuário podem tomar uma série de ações maliciosas que os afetam. Monetariamente falando, eles podem fazer cobranças fraudulentas usando seus cartões bancários ou transferir dinheiro diretamente para outras contas.Os ataques XSS também podem ser usados para extrair informações confidenciais de cookies e bancos de dados. Essas informações podem ser usadas para roubo de identidade.
risco para empresas
se um invasor receber credenciais de usuário roubadas, ele também pode causar estragos para o negócio. Se o usuário tiver direitos de administrador, um ataque XSS pode se estender para o lado do servidor.
as empresas também podem sofrer com uma perda de credibilidade e confiança na marca se um ataque XSS se tornar de conhecimento público. Usuários e clientes são mais propensos a não retornar a um site se souberem que suas informações podem estar em risco.
tipos de ataques XSS
ataques XSS refletidos
em ataques XSS refletidos, scripts maliciosos são injetados diretamente em uma solicitação HTTP. O script é refletido do servidor em uma resposta HTTP e, em seguida, executado no navegador de um usuário. Este é o tipo mais simples de ataque XSS.
ataques XSS baseados em DOM
os ataques baseados em modelo de objeto de documento (DOM) não requerem interação com o servidor. A vulnerabilidade é o script do lado do navegador. Os aplicativos da Web lêem o script malicioso diretamente de uma string de consulta. Eles são semelhantes dessa maneira aos ataques XSS refletidos.
ataques XSS persistentes/armazenados
persistentes, também conhecidos como ataques XSS armazenados, são o tipo de ataque mais perigoso porque têm o potencial de afetar todos os usuários que visitam o site. Nesse caso, os scripts são injetados em um banco de dados por meio de campos de formulário.
o script é então armazenado indefinidamente no banco de dados do site. Todo USUÁRIO que entra no site fica vulnerável a ter sua sessão sequestrada.
como prevenir ataques XSS
existem várias precauções que você pode tomar para evitar ataques XSS.
mantenha o software atualizado
o Software deve ser sempre atualizado por vários motivos, incluindo a correção de bugs, a melhoria do desempenho, a instalação de novos recursos e a correção de vulnerabilidades de segurança. A atualização regular do software reduzirá muito as vulnerabilidades que deixam um site ou aplicativo aberto a vulnerabilidades do XSS.
você também deve auditar todos os seus aplicativos para determinar quais você precisa e quais você raramente usa. Livre-se de todos os aplicativos que você não usa para reduzir ainda mais o número de vulnerabilidades.
higienizar e validar campos de entrada
os campos de entrada são o ponto de entrada mais comum para scripts de ataque XSS. Portanto, você deve sempre selecionar e validar qualquer entrada de informações em campos de dados. Isso é particularmente importante se os dados forem incluídos como saída HTML para proteger contra ataques XSS refletidos.
a validação deve ocorrer tanto no lado do cliente quanto no lado do servidor como uma precaução adicional. a validação dos dados antes de serem enviados aos servidores também protegerá contra scripts XSS persistentes. Isso pode ser feito usando Javascript.
firewall de aplicativos da Web
um firewall de aplicativos da web (WAF) pode ser uma ferramenta poderosa para proteger contra ataques XSS. O WAFs pode filtrar bots e outras atividades maliciosas que podem indicar um ataque. Os ataques podem ser bloqueados antes que qualquer script seja executado.
Política de segurança de conteúdo
uma política de segurança de conteúdo (CSP) pode definir as funções que um site pode executar. Eles podem ser usados para impedir que um site aceite scripts em linha. Este pode ser o método mais forte à sua disposição, pois pode bloquear completamente os ataques XSS ou pelo menos reduzir muito a possibilidade deles.