Entendendo e Evitando Ataques XSS

4
Entendendo e Evitando Ataques XSS, DDoS e Roubo de Sessão, Essa modalidade de ataque ocorre quando uma aplicação web aceita dados do usuário sem nenhum tipo de tratamento. Assim, um possível atacante pode injetar um código JavaScript, SQL, ActiveX ou outro, para comprometer a segurança da aplicação coletando dados ou burlando métodos de validação a áreas restritas. Há três tipos de ataques XSS: Refletido (Reflected) O refletido caracteriza-se por receber os dados não seguros de um usuário e retorná-los diretamente para o browser “navegador”. Um ataque refletido é normalmente entregue via e-mail ou um site neutro. A isca é uma URL de aparência inocente, apontando para um site confiável, mas contendo o vetor de XSS. Se o site confiável é vulnerável ao vetor, clicar no link pode fazer com que o navegador da vítima execute o script injetado. Armazenado (persistido, Stored) O XSS armazenado é quando os dados não seguros são armazenados em algum meio para que posteriormente seja recuperado. Tem prejuízo consideravelmente maior que os outros tipos. Baseado no DOM (DOM Injection) O baseado no DOM atua manipulando ou criando código client-side “do lado do cliente” na página. O ataque pode utilizar apenas uma técnica ou uma combinação das três.

description

#ATPS

Transcript of Entendendo e Evitando Ataques XSS

Page 1: Entendendo e Evitando Ataques XSS

Entendendo e Evitando Ataques XSS, DDoS e Roubo de Sessão,

Essa modalidade de ataque ocorre quando uma aplicação web aceita dados do usuário sem nenhum tipo de tratamento. Assim, um possível atacante pode injetar um código JavaScript, SQL, ActiveX ou outro, para comprometer a segurança da aplicação coletando dados ou burlando métodos de validação a áreas restritas. 

Há três tipos de ataques XSS:

Refletido (Reflected)

O refletido caracteriza-se por receber os dados não seguros de um usuário e retorná-los diretamente para o browser “navegador”. Um ataque refletido é normalmente entregue via e-mail ou um site neutro. A isca é uma URL de aparência inocente, apontando para um site confiável, mas contendo o vetor de XSS. Se o site confiável é vulnerável ao vetor, clicar no link pode fazer com que o navegador da vítima execute o script injetado.

Armazenado (persistido, Stored)

O XSS armazenado é quando os dados não seguros são armazenados em algum meio para que posteriormente seja recuperado. Tem prejuízo consideravelmente maior que os outros tipos.

Baseado no DOM (DOM Injection)

O baseado no DOM atua manipulando ou criando código client-side “do lado do cliente” na página. O ataque pode utilizar apenas uma técnica ou uma combinação das três.

Page 2: Entendendo e Evitando Ataques XSS

Sempre Exedutado do Lado Cliente. Envolve falha no tratamento de entradas, o dado nao tratado é submetido de volta ao usuário. O nao tratamento de entradas é o principal motivo.

Stored: O Codido injetado é armarzenado permanentemente na aplicação ( Comentarios, Posts, Log) a vitima recebe o codigo malicioso junto com a requisição feita.

Envolve manipulação de dados "posts, comentarios, inputs de dados", a aplicação vai tratar o conteudo como um texto normal e se a aplicação nao fizer o devido tratamento, o navegador "browser" do usuário que visualizar vai fazer a interpretação do conteudo sem filtros da forma que foi feito o input "entrada". impacto grande pois sempre que esse conteudo for exibido pelos usuários irá sobfrer o XSS.

Preucupação e dedicação para evitar esse ataque XSS nesse caso tem que vir da aplicação. Tratamento de entradas, Tratamento de Strings.

Refletido: Podemos usar o campo de input text ou uma url maliciosa ja montada.

O codigo é "refletido" para o usuário atraves de respostas que contenham dados nao tratados recebidos pela aplicação (resultados de bus, mensagens de erro). Geralmente disseminado atraves de links maliciosos.

Ocorre geralmente baseado em links com uma requisição ja manipulada "maliciosa". Ela geralmente tem um alcance menor pois ele atinge somente a vitima que clicou naquele momento ali e nao todos os usuários que acessãos determinado post.

DOM : Manipula o ambiente cliente-side. Trabalha na manipulação das ações no Browser do usuário. Nao tem necessariamente uma vulnerabilidade da aplicação. Porem o navegador ferramenta de acesso ao sistema Browser é

Page 3: Entendendo e Evitando Ataques XSS

manipulada e irá tratar as tarefas com anomalias maliciosas. Nem precisa estar online